Конвертировать curl в Node.js

Конвертируйте команды curl в код Node.js с помощью встроенного модуля http. curl2code работает полностью в вашем браузере через WebAssembly — ваши API-ключи и данные остаются конфиденциальными. Для JavaScript на стороне браузера см. наш конвертер curl в JavaScript. Если вы предпочитаете Python, попробуйте curl в Python. Ниже вы найдете готовые к использованию примеры.

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

  1. 1

    Откройте DevTools

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

  2. 2

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

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

  3. 3

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

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

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

Что такое модуль Node.js http?

Модули http и https — это встроенные модули Node.js для выполнения HTTP-запросов без каких-либо зависимостей. Они обеспечивают низкоуровневый контроль над потоками запросов/ответов. В качестве высокоуровневых альтернатив curl2code также поддерживает axios, node-fetch, got, ky и superagent.

http против axios против node-fetch против got — что использовать?

http не имеет зависимостей, но избыточен в коде. axios предлагает чистый API с интерцепторами и автоматическим парсингом JSON. node-fetch дублирует браузерный Fetch API. got богат функциями, такими как повторы, пагинация и потоки. Выбирайте исходя из потребностей проекта. Для браузерного JavaScript см. наш конвертер curl в JavaScript.

Как обрабатывать аутентификацию в Node.js?

Установите заголовок Authorization в объекте опций. Для Basic-аутентификации используйте Buffer.from(user + ':' + pass).toString('base64'). В axios используйте встроенную опцию конфигурации auth. curl2code конвертирует флаги -u и токены Bearer для всех поддерживаемых библиотек Node.js.

Как отправить multipart form data в Node.js?

Со встроенным модулом http создайте тело multipart вручную или используйте пакет form-data. В axios передайте экземпляр FormData в качестве тела. В Node.js 18+ есть встроенный класс FormData. curl2code обрабатывает флаги -F для каждого варианта библиотеки.

Как обрабатывать ошибки HTTP в Node.js?

В http слушайте событие 'error' в запросе и проверяйте response.statusCode. В axios ошибки выбрасываются для статус-кодов, отличных от 2xx, и могут быть перехвачены в try/catch. В got используйте тот же паттерн плюс встроенную логику повторов при сбое.

Как обрабатывать потоковые ответы в Node.js?

Модуль http по умолчанию возвращает читаемый поток — направьте его с помощью response.pipe(fs.createWriteStream('file')). В got используйте got.stream(url). В axios установите responseType: 'stream'. Стриминг идеально подходит для больших файлов и позволяет избежать загрузки всего ответа в память.

Как установить таймауты в HTTP-запросах Node.js?

В http передайте timeout в опциях и слушайте событие 'timeout', затем вызовите req.destroy(). Axios принимает timeout в миллисекундах. Got поддерживает как timeout.request, так и встроенные автоматические повторы с настраиваемой задержкой.

Как использовать прокси в Node.js?

Встроенный модуль http требует ручного туннелирования прокси. Используйте пакеты https-proxy-agent или http-proxy-agent. Axios поддерживает прокси через конфиг proxy. Got использует опцию agent с прокси-агентами. curl2code соответствующим образом конвертирует флаги -x и --proxy.

Как отправить POST-запрос с телом JSON в Node.js?

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

Как добавить авторизацию через Bearer token в Node.js?

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

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

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

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

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

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