Конвертировать curl в Node.js
Конвертируйте команды curl в код Node.js с помощью встроенного модуля http. curl2code работает полностью в вашем браузере через WebAssembly — ваши API-ключи и данные остаются конфиденциальными. Для JavaScript на стороне браузера см. наш конвертер curl в JavaScript. Если вы предпочитаете Python, попробуйте curl в Python. Ниже вы найдете готовые к использованию примеры.
Как скопировать curl из браузера
- 1
Откройте DevTools
Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.
- 2
Перейдите на вкладку Network
Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.
- 3
Скопируйте как cURL
Нажмите правой кнопкой мыши на запрос → Copy → Copy 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.