【问题标题】:Curl post works but Python Requests post doesn't, gives 401 Unauthorized卷曲帖子有效,但 Python 请求帖子无效,给出 401 Unauthorized
【发布时间】:2020-09-22 21:48:24
【问题描述】:

我可以做这个卷曲:

curl -X POST -k --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"grant_type":"password","username":"admin","password":"admin"}' 'https://<ip_address>/api/fdm/v3/fdm/token'

并从我正在处理的防火墙 API 获取访问令牌。 但我正在尝试使用请求让它在 Python 中工作:

headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}

payload = {
"grant_type": "password",
"username": "admin",
"password": "admin"
}

r = requests.post('https://<ip_address>/api/fdm/v3/fdm/token', headers=headers, data=payload, verify=False)

我得到一个 401 Unauthorized。 我还尝试将我的有效负载转换为 json 并在我的 requests.post 中执行 json=payload 但得到相同的结果。我究竟做错了什么? curl 是否会发送一些我的请求中未包含的默认标头信息? 谢谢!

【问题讨论】:

    标签: python python-requests


    【解决方案1】:

    您需要将json 参数用于requests.post。您正在做的是发送表单数据请求。

    类似:

    r = requests.post('https://<ip_address>/api/fdm/v3/fdm/token', headers=headers, json=payload, verify=False)
    

    【讨论】:

      猜你喜欢
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多