python - Curl 帖子有效,但 Python Requests 帖子无效,给出 401 Unauthorized
问题描述
我可以做这个卷曲:
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 并json=payload
在我的 requests.post 中执行但得到相同的结果。我究竟做错了什么?curl 是否会发送一些我的请求中未包含的默认标头信息?谢谢!
解决方案
您需要使用json
参数来requests.post
. 你在那里做的是发送一个表单数据请求。
就像是:
r = requests.post('https://<ip_address>/api/fdm/v3/fdm/token', headers=headers, json=payload, verify=False)
推荐阅读
- java - 使用 docker 访问 src/main/resources 中的文件
- reactjs - 反应路由器 - history.push 到页面的特定部分
- javascript - 正则表达式提取传递到字符串'#substr( , , )' 的参数
- .net-core - Serilog-将“严重性”属性添加到 GKE 的顶级 LogEvent?
- php - php 内置函数不适用于阿拉伯语
- asp.net - 使用 logstash 解析多行 json 日志
- javascript - 我如何从 xmlhttp/“text/html”获取 DOM(通过类名的元素)
- statistics - 为什么可以从数据集中删除具有低方差的变量
- python - 如何添加两个字符串数字(带浮点)?
- python - 获取所有帧中像素的平均值