我正在使用python请求模块来调用API。一切正常,直到我将代码推送到AWS。即使在AWS上,如果我在开发服务器上(即)也可以正常工作ec2.####.amazon.com:8000
。
这是我的代码:
r = requests.post(api_url, data = {"var 1":"value", "var 2":"value"})
我的API url不允许使用的GET
方法,因此在响应中,我收到错误消息,该GET
方法不允许使用,表示requests.post
为get
知道这里怎么了。
实际上,问题是由于SSL引起的,如果您的服务器正在使用https
方法,则需要在其中添加以下行requests.post
r = requests.post(api_url, data = {"var 1":"value", "var 2":"value"}, verify=True)
还要确保您的api_urlhttps
不包含http
我为此写了一个小函数
def get_base_url(request):
host = get_host(request)
if request.is_secure():
return '{0}{1}/{2}'.format('https://', host, 'url')
else:
return '{0}{1}/{2}'.format('http://', host, 'url')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句