как конвертировать пример curl в Pycurl - PullRequest
0 голосов
/ 17 октября 2019

PS - Нет, я не собираюсь использовать запросы Python, потому что это не помогает создавать читаемые потоки файла.

curl -i -H "Authorization":"eyJhbGciOiJIUzI1NiIsImV4cCI6MTQyNjcwNTY4NiwiaWF0IjoxNDI2NzAyMDg2fQ.eyJpZCI6MTc3fQ.yBwLFez2RnxTojLniL8YLItWVvBb90HF_yfhcsyg3lY" \
    -F user_data='{"user data": {"preferred_city":"Newyork","within_radious":"5"}}' \
    -F uploaded_documents=@mydocument.pdf \
    http://127.0.0.1:5000/api/city

Я пытаюсь отправить как файл, так и данные json в записи PycurlМетод.
Я успешно отправил только один файл.
Я нашел приведенный выше пример для отправки файла и данных в том же API, но не смог преобразовать их в Pycurl Systax должным образом.
Может кто-нибудь, пожалуйста, преобразовать его в Pycurlкод типа работа?

1 Ответ

0 голосов
/ 29 октября 2019

Это будет работать для вас

import pycurl
c = pycurl.Curl()      
c.setopt(pycurl.URL, "http://127.0.0.1:5000/api/city")
c.setopt(c.POST, 1)
c.setopt(pycurl.HTTPHEADER, ['Authorization: "eyJhbGciOiJIUzI1NiIsImV4cCI6MTQyNjcwNTY4NiwiaWF0IjoxNDI2NzAyMDg2fQ.eyJpZCI6MTc3fQ.yBwLFez2RnxTojLniL8YLItWVvBb90HF_yfhcsyg3lY"'])
data = json.dumps({"user data": {"preferred_city":"Newyork","within_radious":"5"}})
c.setopt(pycurl.POSTFIELDS,data)
c.setopt(c.HTTPPOST, [("uploaded_documents", (c.FORM_FILE, "mydocument.pdf"))])
c.perform()
c.close()
...