Конвертація cURL у Python Requests крок за кроком

Ви копіюєте запит із DevTools вашого браузера як команду cURL.

Ви отримуєте заголовки, cookies та токени автентифікації.

Але на виході ви отримуєте 30 рядків брудного shell-коду. А ви хотіли чистий Python.

Ось як вручну перенести команду cURL у бібліотеку Python requests.

  1. Визначте метод Якщо ви бачите --data або --data-raw, curl за замовчуванням використовує POST. Не припускайте, що це GET-запит лише тому, що відсутній прапорець -X.

  2. Обробка заголовків Кожен прапорець -H стає записом у словнику. Коли ви розділяєте рядок заголовка, розділяйте лише за першою двокрапкою. Значення на кшталт URL або часових міток містять двокрапки. Якщо ви розділите рядок за кожною двокрапкою, ви зіпсуєте дані.

  3. Управління cookies Прапорець -b надає рядок, розділений крапкою з комою. Не додавайте це у свій словник заголовків. Замість цього передайте це як словник у аргумент cookies. Це дозволить бібліотеці самостійно обробити кодування.

  4. Використання JSON замість Data Це поширена помилка. Якщо тип контенту application/json, використовуйте аргумент json=. Це серіалізує ваш словник і автоматично встановить правильний заголовок. Якщо ви використаєте data=, requests застосує form-encoding. Через це API відхилить ваш запит.

  5. Очищення параметрів Перенесіть рядок запиту (query string) з URL у словник params. Це зробить ваш код читабельним. Слідкуйте за подвійним