Конвертувати 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. Потім вставте його вище.

Часті запитання

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

Модулі 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 дані форми в 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-токена у Node.js?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код axios із заголовком авторизації: headers: { Authorization: 'Bearer YOUR_TOKEN' }. curl2code виявляє Bearer-токени як у прапорцях -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 зіставляє кожен варіант із правильним axios API.

Корисні посилання

Посібники з curl

Конвертувати curl в інші мови