繁体   English   中英

将 CURL 请求转换为 python 3

[英]Convert CURL request to python 3

我有这个 curl 请求我想转换为 python 3

curl -X "POST" "https://conversations.messagebird.com/v1/send" \\
-H "Authorization: AccessKey YOUR-API-KEY" \\
-H "Content-Type: application/json" \\
--data '{ "to":"+31XXXXXXXXX", "from":"WHATSAPP-CHANNEL-ID", "type":"text", "content":{ "text":"Hello!" }, "reportUrl":"https://example.com/reports" }'

谁能帮帮我?

我尝试了以下请求,但没有工作:

import requests

header = {"Authorization":"AccessKey YOUR-API-KEY"}
data = { "to":"+31XXXXXXXXX", "from":"WHATSAPP-CHANNEL-ID", "type":"text", "content":{"text":"Hello!" },  "reportUrl":"https://example.com/reports"}
url = 'https://conversations.messagebird.com/v1/send'
response = requests.post(url, data=data, headers=header)
print(response.text)

我收到错误消息:

<Response [400]>
{"errors":[{"code":21,"description":"JSON is not a valid format"}]}
  1. 您可以使用 json 代替数据,
requests.post('http://httpbin.org/post', json={"key": "value"})
  1. 你需要转储数据
requests.post(url, data=json.dumps(data), headers=headers)
  1. 这是另一个像你一样的问题

根据他们的文档,cURL 是正确的,并且将在 Python 中实现:

import requests

header = {
    "Authorization": "AccessKey YOUR-API-KEY", 
    "Content-Type": "application/json"
}
data = {
    "to": "+31XXXXXXXXX", 
    "from": "WHATSAPP-CHANNEL-ID", 
    "type": "text", 
    "content": {"text":"Hello!"}, 
    "reportUrl": "https://example.com/reports"
}
url = 'https://conversations.messagebird.com/v1/send'
response = requests.post(url, json=data, headers=header)

print(response.json())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM