当前位置: 首页 > 知识库问答 >
问题:

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

巴照
2023-03-14

我可以做这个卷发:

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'

从我正在处理的防火墙应用编程接口获取访问令牌。但是我试图让它在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,并在请求中执行json=payload。发布,但得到相同的结果。我做错了什么?curl是否发送一些我没有包含在请求中的默认头信息?谢谢

共有1个答案

公冶兴文
2023-03-14

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

比如:

r = requests.post('https://<ip_address>/api/fdm/v3/fdm/token', headers=headers, json=payload, verify=False)
 类似资料:
  • 我正在这样做: 但是请求在服务器上不起作用。。。在服务器上,我应该看到发送的数据,但我看不到它们 我也试过这个: 而且它是有效的。。。有什么问题吗?

  • 3)使用REST客户端 将response_resclient.code 对于1和2,两者都是正确的。它们都返回状态201,登录成功,但使用3-REST_Client失败。状态为404 REST_Client: 对于Rest-client gem,它在向mysite.vn发送post请求后返回404错误,代码为443。我对这个案子没有理想。请你帮我解释一下这个案子好吗。如何用REST客户端纠正这个

  • 但当我运行它时,它会给我这个错误: E/AndroidRuntime:致命异常:主进程:com.example.webTestConnection,PID:23550 Android.os.networkonMaintHreadexception,Android.os.strictmode$AndroidBlockGuardPolicy.onNetwork(strictmode.java:1166

  • 我试图使用cURL获取一个HTTP请求响应,这很好。然而,当我在Python中使用“请求”包时,我没有得到任何响应(它只是超时,没有错误或返回响应)。 我的cURL代码如下: 当我在cURL代码中使用-v时,我得到以下消息: 试图144.126.138.12... TCP_NODELAY集 连接到144.126.138.12(144.126.138.12)端口17001(#0) POST/api/

  • 我们在客户端上安装了我们的根证书,https连接适用于。 但是如果我们尝试使用,它会失败: 证书在客户端上。见: 版本:PIP1.4。1.

  • 我有一个python代码,用来创建一个json文件,作为post请求中的数据。 变量如下所示: 当我打印上述变量时,我得到以下输出: 当我在我的邮递员请求上使用以下输出时,它会像我期望的那样工作。但是当我使用相同的变量发送带有以下函数的超文本传输协议请求时,我得到了一个错误。 为什么我的输出在postman上工作,而不是在python本身?