Python Nginx+;当帖子获得401分时,uwsgi不会给出内容
我正在使用python,只是在django上构建了一个API服务器。 我使用urllib2编写了一个脚本来访问这个服务器 要访问此API,请求必须具有基本身份验证信息。若授权失败,API将给出代码为401的响应 此授权检查多个参数。所以我添加了come内容作为回应。像这样:Python Nginx+;当帖子获得401分时,uwsgi不会给出内容,python,nginx,uwsgi,http-status-code-401,Python,Nginx,Uwsgi,Http Status Code 401,我正在使用python,只是在django上构建了一个API服务器。 我使用urllib2编写了一个脚本来访问这个服务器 要访问此API,请求必须具有基本身份验证信息。若授权失败,API将给出代码为401的响应 此授权检查多个参数。所以我添加了come内容作为回应。像这样: API_ERROR_DEF = { 10001: 'Request without Basic Auth.', 30001: 'Timestamp outdated.',
API_ERROR_DEF = {
10001: 'Request without Basic Auth.',
30001: 'Timestamp outdated.',
...
...
'default': 'API Error: uncatched error.',
}
def _request_auth(error_code):
response = HttpResponse()
response['WWW-Authenticate'] = 'Basic realm=testMyAPI'
response.status_code = 401
response.content = API_ERROR_DEF.get(error_code, API_ERROR_DEF['default'])
return response
-> print e.read()
(Pdb) l
92 res = urllib2.urlopen(req)
93 print res.read()
94 except urllib2.HTTPError as e:
95 traceback.print_exc()
96 __import__("pdb").set_trace()
97 -> print e.read()
98
99 if "__main__" == __name__:
100 test(sys.argv[1])
101 #ret = make_signature(sys.argv[1], sys.argv[2])
102 #print ret
(Pdb) c
Timestamp outdated.
但有一个问题。
当我直接在bash中运行此服务器时,我可以使用脚本获取401响应,其中包含内容。像这样:
API_ERROR_DEF = {
10001: 'Request without Basic Auth.',
30001: 'Timestamp outdated.',
...
...
'default': 'API Error: uncatched error.',
}
def _request_auth(error_code):
response = HttpResponse()
response['WWW-Authenticate'] = 'Basic realm=testMyAPI'
response.status_code = 401
response.content = API_ERROR_DEF.get(error_code, API_ERROR_DEF['default'])
return response
-> print e.read()
(Pdb) l
92 res = urllib2.urlopen(req)
93 print res.read()
94 except urllib2.HTTPError as e:
95 traceback.print_exc()
96 __import__("pdb").set_trace()
97 -> print e.read()
98
99 if "__main__" == __name__:
100 test(sys.argv[1])
101 #ret = make_signature(sys.argv[1], sys.argv[2])
102 #print ret
(Pdb) c
Timestamp outdated.
但是当我在nginx+uwsgi上运行这个服务器时。当脚本post并返回401响应时,我发现服务器没有给我任何内容。但是,只有我发送了一个请求,方法是get,此内容才会再次出现
我认为nginx或uwsgi上一定有一些选项会影响这一点。但我在他们的文件中搜索了很长时间,这只会让我更加焦虑
有人能帮我吗