как да използваме python за изпълнение на команда curl
Искам да изпълня команда curl в python.
Обикновено просто трябва да въведа командата в терминала и да натисна клавиша return. Не знам обаче как става това в python.
Командата се показва по-долу:
curl -d @request.json --header "Content-Type: application/json" https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere
Има файл request.json, който трябва да се изпрати, за да се получи отговор.
Търсих много и се обърках. Опитах се да напиша част от кода, въпреки че не успях да го разбера напълно. Не се получи.
import pycurl
import StringIO
response = StringIO.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, 'https://www.googleapis.com/qpxExpress/v1/trips/search?key=mykeyhere')
c.setopt(c.WRITEFUNCTION, response.write)
c.setopt(c.HTTPHEADER, ['Content-Type: application/json','Accept-Charset: UTF-8'])
c.setopt(c.POSTFIELDS, '@request.json')
c.perform()
c.close()
print response.getvalue()
response.close()
Съобщението за грешка е 'Parse Error'.Може ли някой да ми каже как да го поправя или как да получа правилно отговор от севера?
135
3
За по-голяма простота може би трябва да помислите за използване на библиотеката Requests.
Един пример със съдържание на отговора json би бил нещо подобно:
Ако потърсите допълнителна информация, в раздела Quickstart има много работещи примери.
ЕДИТ:
За вашия специфичен превод на curl:
може би?
ако се опитвате да изпратите файл
Благодаря на @LukasGraf, сега разбирам по-добре какво прави оригиналният му код
изпълнението му на питон да бъде като
проверете този линк, той ще ви помогне да конвертирате командата cURl в python,php и nodejs