Конвертувати 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 — це сучасний інтерфейс на основі промісів, вбудований у всі браузери для виконання HTTP-запитів. Він замінює застарілий XMLHttpRequest чистішим і потужнішим API. Fetch підтримує стрімінг, об'єкти запиту/відповіді, CORS та природно інтегрується з async/await. Встановлення не потрібне — він доступний глобально. curl2code використовує Fetch як вивід за замовчуванням для конвертацій у JavaScript.

Fetch проти XMLHttpRequest проти jQuery.ajax — що варто використовувати?

Fetch — це сучасний стандарт, використовуйте його для нових проєктів. XMLHttpRequest є застарілим, але все ще працює всюди і нативно підтримує події прогресу. 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 дані форми за допомогою Fetch?

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

Як обробляти помилки у Fetch?

Fetch відхиляє проміс лише при мережевих збоях, а не при помилках 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) як простіший однорядковий варіант. Параметр curl --max-time відображається на цей шаблон.

Як вирішувати проблеми з CORS у Fetch?

CORS контролюється браузером, а не самим Fetch. Встановіть mode: 'cors' (за замовчуванням) і переконайтеся, що сервер надсилає відповідні заголовки Access-Control-Allow-Origin. Для передачі облікових даних (cookies) додайте 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-токена у 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 в інші мови