Конвертиране на curl в JavaScript

curl2code конвертира curl команди в JavaScript код, използвайки нейтив fetch API. Всичко се изпълнява локално във вашия браузър чрез WebAssembly за пълна поверителност. Ако имате нужда от Node.js код за сървъра, опитайте нашия curl към Node.js конвертор. За типова безопасност вижте curl към TypeScript конвертор. По-долу са дадени практически примери за често срещани HTTP модели.

Как да копирате curl от вашия браузър

  1. 1

    Отворете DevTools

    Натиснете F12 или Ctrl+Shift+I, за да отворите инструментите за разработчици на вашия браузър.

  2. 2

    Отидете в раздела Network

    Кликнете върху раздела Network и извършете действието, което задейства HTTP заявката.

  3. 3

    Копирайте като cURL

    Кликнете с десния бутон върху заявката → CopyCopy as cURL. След това я поставете по-горе.

Често задавани въпроси

Какво е Fetch API?

Fetch API е модерен, базиран на promise интерфейс, вграден във всички браузъри за извършване на HTTP заявки. Той заменя по-стария XMLHttpRequest с по-чист и мощен API. Fetch поддържа стрийминг, обекти за заявка/отговор, CORS и се интегрира естествено с async/await. Не е необходима инсталация — достъпен е глобално. curl2code използва Fetch като изход по подразбиране за JavaScript конвертиране.

Fetch срещу XMLHttpRequest срещу jQuery.ajax — кое да използвам?

Fetch е модерният стандарт — използвайте го за нови проекти. XMLHttpRequest е остарял, но все още работи навсякъде и поддържа събития за прогрес (progress events) нативно. jQuery.ajax добавя удобство, ако jQuery вече е във вашия проект. За JavaScript от страна на сървъра, вижте нашия конвертор от curl към Node.js. За типобезопасност опитайте curl към TypeScript.

Как да се справя с автентикацията с Fetch?

Подайте Authorization заглавие в опцията headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). За Basic автентикация кодирайте данните с btoa(user + ':' + pass). curl2code разпознава -u и -H 'Authorization: ...' флаговете автоматично.

Как да изпращам multipart form данни с Fetch?

Създайте FormData обект и го подайте като тяло: fetch(url, { method: "POST", body: formData }). Не задавайте Content-Type ръчно — браузърът добавя multipart границата автоматично. curl2code конвертира -F флаговете в FormData.

Как да се справя с грешки с Fetch?

Fetch отхвърля (rejects) само при мрежови сривове, а не при HTTP грешки. Винаги проверявайте response.ok или response.status преди четене на тялото. Обградете повикванията в try/catch с async/await, за да обработите както мрежовите грешки, така и грешките при парсване на едно място.

Как да използвам async/await с Fetch?

Fetch връща Promise, така че използвайте const response = await fetch(url), последвано от const data = await response.json(). Обградете в try/catch блок за обработка на грешки. Това е по-чисто от .then() вериги и е препоръчителният модел за модерен JavaScript.

Как да задам таймаут за Fetch заявки?

Използвайте AbortController: създайте контролер, подайте { signal: controller.signal } на fetch и извикайте controller.abort() след забавяне с setTimeout. Модерните браузъри поддържат и AbortSignal.timeout(5000) като по-прост вариант на един ред. Флагът --max-time на curl се мапва към този модел.

Как да се справя с CORS проблеми с Fetch?

CORS се налага от браузъра, а не от самия Fetch. Задайте mode: 'cors' (по подразбиране) и се уверете, че сървърът изпраща правилни Access-Control-Allow-Origin заглавия. За идентификационни данни (бисквитки), добавете credentials: 'include'. CORS не се прилага за код от страна на сървъра — за това вижте нашия конвертор от curl към Node.js.

Как се изпраща POST заявка с JSON тяло в JavaScript?

Конвертирайте curl POST команда като curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL в JavaScript чрез curl2code. Генерираният код използва fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). curl2code автоматично разпознава -d/--data флагове с JSON съдържание и задава съответната Content-Type заглавна част във fetch кода.

Как се добавя Bearer token оторизация в JavaScript?

Подайте curl -H "Authorization: Bearer YOUR_TOKEN" URL на curl2code и той ще генерира fetch код със заглавна част за оторизация: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. curl2code разпознава Bearer токени както от -H "Authorization: Bearer ...", така и от --oauth2-bearer флагове. За Basic auth използвайте -u user:pass.

Как се задава Content-Type заглавна част в JavaScript?

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

Полезни връзки

Ръководства за curl

Конвертиране на curl в други езици