2017-02-22 45 views
0

Так вот мой локон команда, в командной строке, локон скрипт работает нормальноЯ зову команду Rest API Curl с помощью питона, но запрос на запись не работает

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -u user:password URL -d '{"key1":"value1","key2":"value2"}' 

Теперь я преобразовал свой код на python и код выглядят так:

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

Сначала параметр «url» в requests.post должен быть полным URL, включая «http: //» или «https: //».
Во-вторых, если вам нужно разместить некоторые данные в форме application/json, использование прототипа Python 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, если следующий код запускается на выполнение, с существующим «URL»:

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