2017-02-22 59 views
0

因此,这里是我的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')) 

当我跑这个代码,我没有得到任何输出。 请让我知道我在这里做错了什么。

回答

0

首先,requests.post中的'url'参数应该是包含'http://'或'https://'的完整url。其次,如果你需要以application/json的形式发布一些数据,使用Python protogenic dict将会很好。像这样
data = {"key1":"value1","key2":"value2"}

+0

问题是用单引号,谢谢突出显示它。 –

0

你可能会看到类似的东西?

r = requests.post("http://{}/Command?".format(web_addr), params=dict) 
print r.text 
0

在Python 3.6.1,如果下面的代码得到执行,以现有的“网址”你应该得到的响应200消息:

from requests import post 
data = {"key1":"value1","key2":"value2"} 
print(post('URL', json=data)) 
相关问题