Конвертиране на 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 заявки без никакви зависимости. Те осигуряват ниско ниво на контрол върху потоците (streams) на заявките и отговорите. За алтернативи от по-високо ниво, 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 данни в 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 връща четим поток (readable stream) по подразбиране — пренасочете го с 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, така и вградени автоматични повторни опити с конфигурируемо изчакване (backoff).

Как да използвам прокси с 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 токени както от -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 в други езици