美文网首页
python 使用requests库post请求报错问题解决

python 使用requests库post请求报错问题解决

作者: 抓虫的蜗牛 | 来源:发表于2019-03-27 10:35 被阅读0次
    • 事先定义好headers,发送post请求,后台一直报错‘505 非法请求’:
    headers = dict()
    headers.setdefault("Content-Type","application/json;charset=UTF-8")
    headers.setdefault("sign",sign)
    headers.setdefault("timestamp",timestamp)
    response = requests.post(loginUrl,body_data,headers)
    print("result---- %s" % response.text)
    
    • 通过与后端确定,后端说我的headers里面没有传timestamp,但是我明明在headers里面加了timestamp,于是开启debug,发现headers字典确实里含有timestamp,但是!!!发送出去的request中headers中根本和我定义的请求头不一样:


      360截图1700102111098142.png
    • 于是去查看requests库中的post方法需要传的参数,发现参数中没有默认headers这一项: 360截图18370408296033.png
    • 于是将post方法中所有的参数都指定名称:
    response = requests.post(url=loginUrl,json=body_data,headers=headers)
    
    • 再次发送请求,请求成功;
    • 注:如果bodydata是json格式的参数的话,参数中要指定名称是“json=”,不要指定为“data=”;

    相关文章

      网友评论

          本文标题:python 使用requests库post请求报错问题解决

          本文链接:https://www.haomeiwen.com/subject/ftvavqtx.html