【问题标题】:API connection HTTP 400API 连接 HTTP 400
【发布时间】:2020-05-22 15:42:41
【问题描述】:

我正在尝试使用发布请求(请求 python 库)连接到 API。

你可以找到下面的代码:

myurl = 'http://my/endpoint/url'
mydata = {'username':'*****',
         'password':'********'}
myheaders = {'content-type':'application/json', 
             'Accept':'application/json'}


response = requests.post(url = myurl, data = mydata, headers= myheaders)
print(response.status_code)

但是我的响应状态码返回 400。 我怎样才能找到我做错了什么?

连接说明如下:

【问题讨论】:

    标签: python api python-requests


    【解决方案1】:
    import json
    import requests
    from requests.auth import HTTPBasicAuth
    
    my_auth=HTTPBasicAuth('<username>', '<password>')
    payload = {'some_key1:': 'v1', 'k2': 'v2'}
    requests.post(URL, json=json.dumps(payload), auth=my_auth)
    

    如果 Rest API 支持基本身份验证,则它可以工作,如果不支持其他类型的身份验证,请参考 https://requests.readthedocs.io/en/master/

    【讨论】:

    • 谢谢。根据说明,身份验证类型似乎是 RestAuthentication 。但它没有在您的网站上提及这种类型的身份验证。
    【解决方案2】:

    4xx http响应是客户端错误,所以你应该检查我们的请求信息。 (标题、Cookie、数据……)

    如果你是从url(http://my/endpoint/url)爬取一些数据,最好使用google开发工具或者charles proxy,你可以检查你的请求是否正确。

    【讨论】:

      猜你喜欢
      • 2020-10-08
      • 2016-12-28
      • 2018-03-16
      • 2015-09-20
      • 2017-02-24
      • 1970-01-01
      • 2012-07-15
      • 2013-10-04
      • 1970-01-01
      相关资源
      最近更新 更多