python请求与下面的curl命令等价的是什么

python请求与下面的curl命令等价的是什么,python,curl,python-requests,Python,Curl,Python Requests,在ably.io上,他们有一个示例,其中可以使用以下curl请求将消息发布到通道: curl -X POST https://rest.ably.io/channels/channelname/messages \ -u "some_AP.aYYMcQ:VmGHauKOqo-35Zxo" \ -H "Content-Type: application/json" \ --data '{ "name": "greeting", "data": "example" }' 传递给-u的值是具有

在ably.io上,他们有一个示例,其中可以使用以下curl请求将消息发布到通道:

curl -X POST https://rest.ably.io/channels/channelname/messages \
 -u "some_AP.aYYMcQ:VmGHauKOqo-35Zxo" \
 -H "Content-Type: application/json" \
 --data '{ "name": "greeting", "data": "example" }'
传递给-u的值是具有发布权限的API密钥。如何使用Python请求库发出相同的post请求?我搜索了文档,但找不到它。注意这里没有密码,只有api密钥

提前感谢。

您可以使用:

requests.post("https://rest.ably.io/channels/channelname/messages",
    auth=('some_AP.aYYMcQ', 'VmGHauKOqo-35Zxo'), # Equivalent of -u
    json={ "name": "greeting", "data": "example" }) # Equivalent of --data
当您使用
json
选项时,
-H
会自动设置为
内容类型:application/json

您可以使用:

requests.post("https://rest.ably.io/channels/channelname/messages",
    auth=('some_AP.aYYMcQ', 'VmGHauKOqo-35Zxo'), # Equivalent of -u
    json={ "name": "greeting", "data": "example" }) # Equivalent of --data

当您使用
json
选项时,
-H
会自动设置为
内容类型:application/json

,效果非常好。非常感谢。这是否意味着在API密钥中,冒号前的内容是用户名,冒号后的内容是密码?我很快就会接受答案。如果您能澄清一下,我将不胜感激。关于
auth
参数,这里有一些额外的注释:碰巧知道-T的等价物是什么?这非常有效。非常感谢。这是否意味着在API密钥中,冒号前的内容是用户名,冒号后的内容是密码?我很快就会接受答案。如果您能澄清一下,我将不胜感激。关于
auth
参数,这里有一些补充说明:您知道-T的等价物是什么吗?(但似乎不支持基本身份验证)(但似乎不支持基本身份验证)