Curl-post可以工作,但是Python请求post不能工作,这是一个错误的消息

2024-06-09 09:39:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以做这个卷发:

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。 我还尝试将有效负载转换为json,并在requests.post中执行json=payload,但得到了相同的结果。我做错了什么?curl是否发送一些我没有包含在请求中的默认头信息? 谢谢


Tags: jsonadminapplicationtypeusernamepasswordcontentcurl
1条回答
网友
1楼 · 发布于 2024-06-09 09:39:11

您需要使用json参数来requests.post。您在那里做的是发送表单数据请求

比如:

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

相关问题 更多 >