Конвертувати 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. Потім вставте його вище.
Часті запитання
Що таке модуль 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.