Python请求POST不起作用

前端之家收集整理的这篇文章主要介绍了Python请求POST不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用python请求模块来调用API.
在我将代码推送到AWS之前,一切正常.即使在AWS上,如果我正在使用dev服务器,即ec2,也可以工作.####.amazon.com:8000.

这是我的代码

r = requests.post(api_url,data = {"var 1":"value","var 2":"value"})

我的API网址不允许GET方法,所以作为响应我收到错误,GET方法不允许,这意味着requests.post读取为get

知道这里有什么问题.

最佳答案
实际上问题是由于SSL,如果您的服务器使用https方法,那么您需要在requests.post中添加以下行

r = requests.post(api_url,"var 2":"value"},verify=True)

还要确保您的api_url包含https而不是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://','url')

猜你在找的Python相关文章