Парсер cURL

Разбор команд cURL на структурные компоненты. Извлечение URL, метода, заголовков, тела, авторизации и генерация эквивалентов на JavaScript fetch() и axios.

Разбор компонентов Генерация fetch() Генерация axios

Как использовать парсер cURL

1

Вставьте команду cURL

Скопируйте команду cURL из инструментов разработчика браузера (правый клик по запросу и «Copy as cURL») и вставьте её в поле ввода.

2

Разбор компонентов

Команда автоматически разбивается на URL, метод, заголовки, тело, авторизацию и cookie.

3

Получите код

Скопируйте сгенерированный код fetch() или axios для использования в ваших проектах на JavaScript.

Что такое cURL?

cURL (Client URL) — это инструмент командной строки и библиотека для передачи данных с использованием различных протоколов. Широко используется для тестирования API, отладки HTTP-запросов и автоматизации передачи данных. Инструменты разработчика браузера могут экспортировать сетевые запросы как команды cURL, что упрощает совместное использование и воспроизведение HTTP-запросов.

Инструмент командной строки

cURL — инструмент командной строки для передачи данных по HTTP, HTTPS, FTP и другим протоколам.

Экспорт из DevTools браузера

Большинство DevTools позволяют скопировать сетевой запрос как команду cURL.

Конвертация кода

Конвертируйте команды cURL в код JavaScript fetch() или axios для лёгкой интеграции.

Часто задаваемые вопросы

Может ли он генерировать код fetch() из cURL?

Да. Инструмент преобразует команды cURL в фрагменты кода JavaScript fetch() и axios. Сгенерированный код сохраняет URL, метод, заголовки и тело из исходной команды cURL.

Обрабатывает ли он POST-данные и загрузку файлов?

Да. Он разбирает флаги -d/--data, --data-raw и --data-binary, включая JSON-нагрузки. Данные тела JSON автоматически форматируются с правильными отступами в сгенерированном коде.

Какие флаги cURL поддерживаются?

Распространённые флаги, включая -X (метод), -H (заголовки), -d (данные), -b (cookie), -u (авторизация), -k (небезопасное соединение), -L (следование перенаправлениям), --compressed и другие. Сложные или необычные флаги могут быть разобраны не полностью.

Как преобразовать команду cURL в код PHP?

Инструмент сопоставляет флаги с API curl в PHP: URL попадает в CURLOPT_URL, каждый -H — в CURLOPT_HTTPHEADER, -d — в CURLOPT_POSTFIELDS, а -u — в CURLOPT_USERPWD. Вставьте команду, скопируйте сгенерированный фрагмент, и шаблонный код (RETURNTRANSFER, обработка ошибок) будет создан автоматически.

Что делает флаг -H и как обрабатываются повторяющиеся заголовки?

-H 'Content-Type: application/json' добавляет один заголовок; повторяйте -H для каждого дополнительного заголовка — будут отправлены все. Флаг -H также может удалить заголовок, если указать его без значения (-H 'User-Agent:'), или отправить пустое значение, добавив точку с запятой в конце. Несколько флагов -H сохраняют порядок, что важно для некоторых API.

Как передаётся аутентификация в cURL?

HTTP Basic — это -u user:password (curl кодирует её в base64 и помещает в заголовок Authorization). Bearer-токены передаются как заголовок: -H 'Authorization: Bearer <token>'. API-ключи передаются либо в заголовках, либо в параметрах запроса — в зависимости от сервиса. Предупреждение: секреты в командной строке попадают в историю оболочки — лучше использовать файл netrc или переменную окружения.

В чём разница между -d, --data-binary и -F?

-d отправляет данные как application/x-www-form-urlencoded и удаляет переводы строк; --data-binary отправляет данные как есть, что требуется JSON API; -F формирует запрос multipart/form-data — единственный вариант для загрузки файлов. Для параметров в стиле GET используется -G в сочетании с -d, что переносит данные в строку запроса URL.

Почему преобразованный код не работает, хотя команда cURL сработала?

Обычно проблема в кавычках: оболочка убирает кавычки до того, как их увидит curl, но целевой язык интерпретирует их заново — одинарные кавычки, безопасные в оболочке, в JavaScript требуют иной обработки. Другие ловушки: обратные слэши в конце строк из многострочных команд, знаки процентов в URL, ломающие %-форматирование в некоторых языках, и файлы cookie, на которые ссылаются -b/-c, но которых нет в новом окружении.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}