Конвертер curl в Python
Конвертируйте команду curl в код Python requests мгновенно в вашем браузере. Команда остаётся на вашем устройстве.
Ваша команда curl конвертируется в Python локально в вашем браузере и никогда не загружается, но избегайте вставки настоящих рабочих токенов или учётных данных в любые инструменты.
Хотите отправить запрос? Попробуйте клиент API-запросов.
Об инструменте curl в Python
Этот конвертер curl в python берёт команду curl, скопированную из терминала, DevTools браузера или документации API, и переписывает её в чистый скрипт Python на основе библиотеки requests. Как конвертер curl в requests он читает флаги вроде -X, -H, -d, --data-raw, --json, -u, -b и -G, выбирает правильный HTTP-метод и использует json= для корректных тел JSON или data= для тел форм, чтобы вызов сработал с первого запуска. Это удобно, когда вы переносите быстрый тест API в скрипт Python, блокнот или backend-интеграцию без ручного перенабора заголовков. Всё преобразование выполняется в вашем браузере, поэтому команда curl и любые токены внутри неё обрабатываются локально на вашем устройстве и никогда не загружаются.
Возможности
- Генерирует вызов requests.request(method, url, ...) с выведенным HTTP-методом
- Строит словарь заголовков Python из каждого флага -H/--header
- Использует json= для корректных тел JSON и data= для тел в формате формы
- Красиво выводит тела JSON как литерал словаря Python, который можно редактировать
- Сопоставляет -u/--user с заголовком Authorization базовой аутентификации и обрабатывает cookies, user-agent и referer
- Добавляет данные -G/--get к URL в виде строки запроса
- Предупреждает о флагах без эквивалента в requests, таких как -k и опции вывода в файл
- Скопируйте результат или скачайте его как request.py в один клик
Как использовать curl в Python
- Вставьте команду curl в поле команды cURL.
- Прочитайте сгенерированный скрипт Python requests в панели вывода.
- Проверьте баннер предупреждений на наличие изменённых или пропущенных флагов.
- Нажмите «Копировать» или скачайте скрипт как request.py.
Пример
Ввод
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Ada"}'
Результат
import requests
url = "https://api.example.com/users"
headers = {
"Content-Type": "application/json",
}
payload = {
"name": "Ada"
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.status_code)
print(response.text)
Тело JSON передаётся через json=, поэтому requests сериализует его за вас.
Частые ошибки и устранение неполадок
- В выводе используется data=, хотя вы ожидали json=. — Отправьте тело с --json или добавьте -H "Content-Type: application/json", чтобы конвертер распознал его как JSON и переключился на json=.
- Запуск скрипта вызывает ModuleNotFoundError: No module named 'requests'. — Сначала установите зависимость командой pip install requests; сгенерированный код рассчитан на стороннюю библиотеку requests, а не на urllib.
- Тело JSON выводится как строка в кавычках вместо словаря Python. — Так бывает, когда тело не является корректным JSON. Исправьте JSON или оставьте его строкой и отправьте через data=.
Часто задаваемые вопросы
- Как преобразовать команду curl в Python?
- Вставьте команду curl в поле ввода, и конвертер отобразит скрипт Python requests справа, который можно скопировать или скачать как request.py.
- Генерирует ли он код для библиотеки requests или urllib?
- Он рассчитан на популярную библиотеку requests и выдаёт вызов requests.request(method, url, ...). Установите её командой pip install requests перед запуском скрипта.
- Когда конвертер использует json= вместо data=?
- Он использует json=, когда тело является корректным JSON (отправлено с --json или с JSON Content-Type), чтобы requests сериализовал словарь, и data= для тел в формате формы или сырых строк.
- Как значение базовой аутентификации curl -u обрабатывается в выводе Python?
- Значение -u или --user кодируется в base64 в заголовок Authorization: Basic в словаре заголовков, в точности как curl отправляет по сети.
- Загружается ли моя команда curl, когда я конвертирую её в Python?
- Нет. Преобразование curl в python выполняется полностью в вашем браузере, поэтому команда и любые учётные данные в ней остаются на вашем устройстве.
Связанные инструменты
- curl в Go — Преобразование команды curl в код Go net/http.
- curl в PHP — Преобразование команды curl в скрипт PHP cURL.
- curl в Node.js — Преобразование команды curl в код Node.js axios.
- cURL в Fetch — Преобразуйте команду curl в вызов fetch() на JavaScript.
- API-клиент — Отправляйте HTTP-запросы, задавайте заголовки и параметры и изучайте ответы; сохраняет последние 25.
- Разбор URL — Разбейте URL на части и просмотрите список параметров запроса.
Все инструменты ArrayKit