Конвертировать curl в TypeScript

curl2code преобразует команды curl в код TypeScript с соответствующими аннотациями типов, используя API fetch. Конвертация выполняется в вашем браузере через WebAssembly — ваши данные никогда не покидают ваше устройство. Для чистого JavaScript ознакомьтесь с нашим конвертером curl в JavaScript. Для серверного кода см. curl в Node.js. Ниже приведены типизированные примеры для распространенных сценариев.

Как скопировать curl из браузера

  1. 1

    Откройте DevTools

    Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.

  2. 2

    Перейдите на вкладку Network

    Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.

  3. 3

    Скопируйте как cURL

    Нажмите правой кнопкой мыши на запрос → CopyCopy as cURL. Затем вставьте его выше.

Часто задаваемые вопросы

Что генерирует curl2code для TypeScript?

curl2code генерирует код TypeScript, используя нативный браузерный API fetch с полными аннотациями типов. Сгенерированный код включает типизированные опции запроса, правильную обработку Response и типобезопасный парсинг JSON. TypeScript добавляет безопасность на этапе компиляции к тому же Fetch API, который используется в обычном JavaScript.

TypeScript fetch против JavaScript fetch — в чем разница?

API во время выполнения идентичен — TypeScript добавляет статическую проверку типов. Вы получаете типизированные объекты Headers, RequestInit и Response. Для кастомных структур ответа определите интерфейс и приведите тип с помощью await response.json() as MyType. Для серверного TypeScript проверьте наш конвертер curl в Node.js.

Как обрабатывать аутентификацию в TypeScript?

Так же, как и в Fetch — передайте заголовок Authorization в типизированном объекте HeadersInit. TypeScript гарантирует, что вы не допустите опечаток в именах заголовков при использовании типизированного помощника. curl2code генерирует правильно типизированные заголовки аутентификации из флагов curl -u и -H 'Authorization: ...'.

Как отправить данные формы с помощью TypeScript?

Используйте браузерный API FormData — в TypeScript для него есть встроенные определения типов. Вызывайте formData.append('file', file) с типизированными параметрами. Компилятор отловит несовпадения типов во время сборки. curl2code конвертирует флаги -F в правильно типизированные вызовы FormData.

Как типобезопасно обрабатывать ошибки в TypeScript?

Используйте try/catch с async/await. Типизируйте ошибку в блоке catch как unknown и уточняйте тип с помощью instanceof. Проверяйте response.ok перед парсингом. Определяйте типизированные ответы об ошибках с интерфейсами для форматов ошибок конкретных API. Это дает гарантии на этапе компиляции, что все пути ошибок обработаны.

Как типизировать ответы API в TypeScript?

Определите интерфейс для ожидаемой структуры ответа, затем используйте const data: MyAPI = await response.json(). Для валидации во время выполнения используйте в паре с zod или io-ts. Этот паттерн обеспечивает типобезопасность во всей кодовой базе. Для аналогичного опыта типизации в других языках см. curl в Go или curl в Rust.

Как установить таймауты для fetch в TypeScript?

Используйте AbortController — TypeScript включает полные определения типов для Abort API. Создайте const controller = new AbortController(), передайте signal в fetch и прервите запрос с помощью setTimeout. Сокращение AbortSignal.timeout(ms) типизировано в современных таргетах библиотек TypeScript.

Как обрабатывать CORS в TypeScript?

Обработка CORS идентична JavaScript — это функция безопасности браузера, а не TypeScript. Установите mode: 'cors' и credentials: 'include' по мере необходимости, при этом TypeScript обеспечит правильные значения перечислений RequestMode и RequestCredentials. Для серверных запросов, где CORS не применяется, см. curl в Node.js.

Как отправить POST-запрос с телом JSON на TypeScript?

Преобразуйте команду curl POST, такую как curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, в TypeScript с помощью curl2code. Сгенерированный код использует const response: Response = await fetch(url, { method: 'POST', body: JSON.stringify(data) }). curl2code автоматически обнаруживает флаги -d/--data с содержимым JSON и устанавливает соответствующий заголовок Content-Type в коде fetch.

Как добавить авторизацию через Bearer token на TypeScript?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код fetch с заголовком авторизации: headers: { Authorization: `Bearer ${token}` }. curl2code распознает Bearer tokens как в флагах -H "Authorization: Bearer ...", так и в --oauth2-bearer. Для Basic auth используйте -u user:pass.

Как установить заголовок Content-Type на TypeScript?

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

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки