我使用python调用REST API curl命令,但是POST请求不工作
问题描述:
因此,这里是我的curl命令,在命令行中,卷曲脚本工作正常我使用python调用REST API curl命令,但是POST请求不工作
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -u user:password URL -d '{"key1":"value1","key2":"value2"}'
现在我已经将我的代码蟒蛇和代码看起来像这样:
import requests
import json
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
}
data = '{"key1":"value1","key2":"value2"}'
requests.post('URL', headers=headers, data=data, auth=('user', 'password'))
当我跑这个代码,我没有得到任何输出。 请让我知道我在这里做错了什么。
答
首先,requests.post
中的'url'参数应该是包含'http://'或'https://'的完整url。其次,如果你需要以application/json
的形式发布一些数据,使用Python protogenic dict
将会很好。像这样data = {"key1":"value1","key2":"value2"}
答
你可能会看到类似的东西?
r = requests.post("http://{}/Command?".format(web_addr), params=dict)
print r.text
答
在Python 3.6.1,如果下面的代码得到执行,以现有的“网址”你应该得到的响应200消息:
from requests import post
data = {"key1":"value1","key2":"value2"}
print(post('URL', json=data))
问题是用单引号,谢谢突出显示它。 –