Конвертировать curl в JavaScript

curl2code преобразует команды curl в код JavaScript с использованием нативного API fetch. Все работает локально в вашем браузере через WebAssembly для полной конфиденциальности. Если вам нужен код для Node.js на стороне сервера, попробуйте наш конвертер curl в Node.js. Для обеспечения типизации ознакомьтесь с конвертером curl в TypeScript. Ниже приведены практические примеры для распространенных HTTP-паттернов.

Как скопировать curl из браузера

  1. 1

    Откройте DevTools

    Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.

  2. 2

    Перейдите на вкладку Network

    Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.

  3. 3

    Скопируйте как cURL

    Нажмите правой кнопкой мыши на запрос → CopyCopy as cURL. Затем вставьте его выше.

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

Что такое Fetch API?

Fetch API — это современный, основанный на промисах интерфейс, встроенный во все браузеры для выполнения HTTP-запросов. Он заменяет старый XMLHttpRequest более чистым и мощным API. Fetch поддерживает стриминг, объекты запроса/ответа, CORS и естественно интегрируется с async/await. Установка не требуется — он доступен глобально. curl2code использует Fetch в качестве вывода по умолчанию для конвертаций в JavaScript.

Fetch против XMLHttpRequest против jQuery.ajax — что использовать?

Fetch — это современный стандарт, используйте его для новых проектов. XMLHttpRequest является устаревшим, но все еще работает везде и нативно поддерживает события прогресса. jQuery.ajax добавляет удобства, если jQuery уже есть в вашем проекте. Для серверного JavaScript см. наш конвертер curl в Node.js. Для типобезопасности попробуйте curl в TypeScript.

Как обрабатывать аутентификацию с помощью Fetch?

Передайте заголовок Authorization в опции headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). Для Basic-аутентификации закодируйте учетные данные с помощью btoa(user + ':' + pass). curl2code автоматически определяет флаги -u и -H 'Authorization: ...'.

Как отправить multipart form data с помощью Fetch?

Создайте объект FormData и передайте его в качестве тела: fetch(url, { method: "POST", body: formData }). Не устанавливайте Content-Type вручную — браузер добавит границу multipart автоматически. curl2code конвертирует флаги -F в FormData.

Как обрабатывать ошибки в Fetch?

Fetch отклоняет промис только при сетевых сбоях, а не при ошибках HTTP. Всегда проверяйте response.ok или response.status перед чтением тела. Оборачивайте вызовы в try/catch с async/await, чтобы обрабатывать сетевые ошибки и ошибки парсинга в одном месте.

Как использовать async/await с Fetch?

Fetch возвращает Promise, поэтому используйте const response = await fetch(url), а затем const data = await response.json(). Оберните это в блок try/catch для обработки ошибок. Это чище, чем цепочки .then(), и является рекомендуемым паттерном для современного JavaScript.

Как установить таймаут для запросов Fetch?

Используйте AbortController: создайте контроллер, передайте { signal: controller.signal } в fetch и вызовите controller.abort() после задержки с помощью setTimeout. Современные браузеры также поддерживают AbortSignal.timeout(5000) как более простую однострочную запись. Флаг curl --max-time сопоставляется с этим паттерном.

Как решать проблемы CORS с Fetch?

CORS обеспечивается браузером, а не самим Fetch. Установите mode: 'cors' (по умолчанию) и убедитесь, что сервер отправляет правильные заголовки Access-Control-Allow-Origin. Для учетных данных (куки) добавьте credentials: 'include'. CORS не применяется к серверному коду — для этого см. наш конвертер curl в Node.js.

Как отправить POST-запрос с телом JSON на JavaScript?

Преобразуйте команду curl POST, такую как curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, в JavaScript с помощью curl2code. Сгенерированный код использует fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). curl2code автоматически обнаруживает флаги -d/--data с содержимым JSON и устанавливает соответствующий заголовок Content-Type в коде fetch.

Как добавить авторизацию через Bearer token на JavaScript?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код fetch с заголовком авторизации: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. curl2code распознает Bearer tokens как в флагах -H "Authorization: Bearer ...", так и в --oauth2-bearer. Для Basic auth используйте -u user:pass.

Как установить заголовок Content-Type на JavaScript?

curl2code преобразует curl -H "Content-Type: application/json" URL в код fetch с правильным заголовком: headers: { 'Content-Type': 'application/json' }. Для данных -d curl по умолчанию использует application/x-www-form-urlencoded; для загрузки форм -F используется multipart/form-data. curl2code сопоставляет каждый вариант с подходящим API fetch.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки