Как пользоваться: cURL в код
- Скопируйте запрос как curl: в DevTools Chrome или Firefox откройте вкладку Network, щёлкните правой кнопкой по запросу и выберите Копировать › Копировать как cURL. Можно также взять пример curl из документации API.
- Вставьте команду в поле команда curl. Многострочные команды с продолжениями
\тоже поддерживаются. - Выберите вкладку языка: JavaScript fetch, Axios, Node.js, Python, PHP или Go.
- Прочитайте примечания под кодом, там указано всё, что требует внимания, и нажмите Копировать код.
Что делает конвертер curl в код?
curl — универсальный язык примеров HTTP: документация API, экспорт из Postman и функция «Copy as cURL» во всех браузерах создают команды curl. Переписывать такую команду вручную под язык вашего приложения неудобно: нужно заново набирать заголовки, экранировать JSON и помнить, как каждый HTTP-клиент работает с формами и авторизацией. Этот конвертер разбирает команду так, как её разобрали бы POSIX-шелл и curl, а затем генерирует идиоматичный код для нужной вам клиентской библиотеки.
Поддерживаемые опции curl
| Опция | Преобразуется в |
|---|---|
-X, --request | HTTP-метод (по умолчанию GET, а при наличии тела — POST) |
-H, --header, -A, -e, -b | Заголовки запроса, включая User-Agent, Referer и Cookie |
-d, --data, --data-raw, --data-binary, --data-urlencode | Тело запроса (по умолчанию в формате form-encoded, как в curl); @file читает содержимое файла |
--json | JSON-тело с Content-Type и Accept: application/json |
-F, --form | Данные multipart-формы, включая загрузку файлов с ;type= и ;filename= |
-u, --user, --oauth2-bearer | Basic-авторизация или Bearer-токен |
-G, --get, --url-query | Данные, добавляемые в строку запроса URL |
-I, -L, -k, -m, -x, --compressed | HEAD-запросы, редиректы, проверка TLS, таймауты, прокси и сжатие там, где это поддерживает библиотека |
Кавычки обрабатываются по правилам шелла: одинарные кавычки, двойные кавычки с экранированием обратным слешем, строки ANSI-C $'…' (Chrome использует их для тел запроса с кавычками) и переносы строк. Команды «Copy as cURL (cmd)» для Windows с экранированием ^ также распознаются и преобразуются. Флаги, влияющие только на вывод, такие как -s, -v или -o, игнорируются. Всё, что не поддерживается, перечисляется в примечаниях, а не отбрасывается молча.
Выбор целевого языка
- JavaScript fetch — встроен во все браузеры. Кросс-доменные запросы также требуют, чтобы сервер отправлял заголовки CORS, а браузеры не позволяют задавать такие заголовки, как
CookieилиHost. Конвертер предупредит вас, когда это применимо. - Node.js fetch — встроен в Node 18+, зависимости не нужны; для загрузки файлов используется
fs.openAsBlob. - Axios — популярен благодаря перехватчикам (interceptors) и автоматической работе с JSON.
- Python requests — JSON-тела становятся нативными словарями, передаваемыми через
json=; формы превращаются в словари дляdata=. - PHP cURL — использует
curl_setopt_arrayс соответствующими константамиCURLOPT_*, удобно для кода WordPress или Laravel без дополнительных пакетов. - Go net/http — полностью готовый к запуску
main.goс обработкой ошибок и поддержкой multipart.
Советы по безопасности
Команды, скопированные из DevTools, часто содержат cookie сессий и токены доступа. Преобразование выполняется полностью в вашем браузере: команда никуда не отправляется и не добавляется в URL. Но прежде чем сохранять сгенерированный код в репозиторий, удалите секреты и загружайте их из переменных окружения. Хотите сразу проверить запрос? Воспользуйтесь API Tester. Нужно разобрать токен из команды? Вставьте его в JWT Decoder.
Также ищут как: curl в fetch, curl в python, curl в javascript, curl в axios, curl в php, curl в go, curl в node, curl в requests.
Инструменты, которые хорошо сочетаются с cURL в код
- Base64 кодер / декодер — Преобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe Base64 или перетащите файл, чтобы получить его строку Base64 или data URI.
- Кодирование и декодирование URL — Выполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные строки обратно в читаемый текст и разбирайте любой URL на части и параметры запроса.
- JSON форматтер — Вставьте JSON, чтобы отформатировать, минифицировать или проверить его.
- Проверка HTTP-заголовков — Введите любой URL и увидите, что именно отправляет сервер: код статуса, цепочку редиректов и все заголовки ответа.
Часто задаваемые вопросы
Безопасно ли вставлять команду curl с моим API-ключом или cookie?
Как скопировать запрос как curl в Chrome?
Почему данные из -d отправляются как данные формы, а не как JSON?
-d устанавливает Content-Type: application/x-www-form-urlencoded, если вы не передали свой заголовок. Добавьте -H 'Content-Type: application/json' или используйте --json, и конвертер создаст JSON-тело.Что происходит с загрузкой файлов вида -F file=@photo.jpg?
FormData в JavaScript, files= в Python, CURLFile в PHP и mime/multipart в Go. Используется тот же локальный путь, и при необходимости его может понадобиться поправить.Следует ли конвертер редиректам, как curl -L?
-L. В PHP конвертер добавляет CURLOPT_FOLLOWLOCATION, если присутствует -L.