Конвертація cURL у Python Requests крок за кроком
Ви копіюєте запит із DevTools вашого браузера як команду cURL.
Ви отримуєте заголовки, cookies та токени автентифікації.
Але на виході ви отримуєте 30 рядків брудного shell-коду. А ви хотіли чистий Python.
Ось як вручну перенести команду cURL у бібліотеку Python requests.
Визначте метод Якщо ви бачите
--dataабо--data-raw, curl за замовчуванням використовує POST. Не припускайте, що це GET-запит лише тому, що відсутній прапорець-X.Обробка заголовків Кожен прапорець
-Hстає записом у словнику. Коли ви розділяєте рядок заголовка, розділяйте лише за першою двокрапкою. Значення на кшталт URL або часових міток містять двокрапки. Якщо ви розділите рядок за кожною двокрапкою, ви зіпсуєте дані.Управління cookies Прапорець
-bнадає рядок, розділений крапкою з комою. Не додавайте це у свій словник заголовків. Замість цього передайте це як словник у аргументcookies. Це дозволить бібліотеці самостійно обробити кодування.Використання JSON замість Data Це поширена помилка. Якщо тип контенту
application/json, використовуйте аргументjson=. Це серіалізує ваш словник і автоматично встановить правильний заголовок. Якщо ви використаєтеdata=,requestsзастосуєform-encoding. Через це API відхилить ваш запит.Очищення параметрів Перенесіть рядок запиту (query string) з URL у словник
params. Це зробить ваш код читабельним. Слідкуйте за подвійним