Конвертувати curl у JavaScript
curl2code конвертує команди curl у код JavaScript за допомогою нативного fetch API. Усе виконується локально у вашому браузері через WebAssembly для повної приватності. Якщо вам потрібен код Node.js для серверної частини, спробуйте наш конвертер curl у Node.js. Для типізації перегляньте конвертер curl у TypeScript. Нижче наведено практичні приклади для поширених HTTP-патернів.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.