使用以下代码,运行方式:
uwsgi --socket myapp.sock --plugins /usr/lib/uwsgi/plugins/python_plugin.so \
--module wsgi --chmod-socket=664
我不明白为什么在使用/usr/lib/uwsgi/plugins/python_plugin.so时为什么会很好地显示curl所显示的GET和POST值,但在使用/ usr / lib / uwsgi / plugins / python时却不能这样显示 > 3 _plugin.so
我正在按如下方式使用curl:curl -v --form 'file=@testfile;filename=newfilename' --form 'q=c' localhost?q=x
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
try:
request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
request_body_size = 0
request_body = environ.get('wsgi.input', b'').read(request_body_size).decode('utf-8')
get_values = environ.get('QUERY_STRING', '')
return ["Hello There!\n\n" + request_body + get_values]
我在Python3中添加了解码('utf-8')以将字节转换为字符串。使用Python2时,我忽略了这一点。
答案 0 :(得分:0)
return ["Hello There!\n\n" + request_body + get_values]
更改为:
return [("Hello There!\n\n" + request_body + get_values).encode('utf-8')]
使其正常工作。