加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python请求POST不起作用

发布时间:2020-12-16 22:54:09 所属栏目:Python 来源:网络整理
导读:我正在使用python请求模块来调用API. 在我将代码推送到AWS之前,一切正常.即使在AWS上,如果我正在使用dev服务器,即ec2,也可以工作.####.amazon.com:8000. 这是我的代码: r = requests.post(api_url,data = {"var 1":"value","var 2":"value"}) 我的API网址

我正在使用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')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读