Конвертер cURL в Go (net/http)

Преобразует команду cURL в фрагмент кода Go net/http с http.NewRequest, заголовками и телом

Ключевые факты

Категория
Разработка и Web
Типы входных данных
textarea, checkbox
Тип результата
text
Покрытие примерами
4
API доступен
Yes

Обзор

Этот онлайн-инструмент позволяет мгновенно преобразовывать команды cURL в готовый к использованию код на языке Go с использованием стандартного пакета net/http. Он автоматически разбирает HTTP-методы, заголовки, параметры запроса и тело, генерируя структурированный код с вызовом http.NewRequest и корректной обработкой потоков данных.

Когда использовать

  • При переносе примеров API-запросов из технической документации в разрабатываемое Go-приложение.
  • При интеграции сторонних веб-сервисов, когда нужно быстро воссоздать сложный HTTP-запрос с заголовками и JSON-телом.
  • Для ускорения написания шаблонного кода (boilerplate) при создании HTTP-клиентов на Go.

Как это работает

  • Вставьте исходную команду cURL в текстовое поле ввода.
  • Настройте параметры генерации, выбрав форматирование тела запроса и необходимость добавления комментариев.
  • Скопируйте автоматически сгенерированный код Go, готовый к интеграции в ваш проект.

Сценарии использования

Быстрое прототипирование интеграции с внешними REST API на основе cURL-примеров.
Преобразование запросов, экспортированных из инструментов разработчика браузера (DevTools), в рабочий код на Go.
Создание интеграционных тестов на Go путем быстрого импорта существующих cURL-запросов.

Примеры

1. Интеграция API авторизации

Go-разработчик
Контекст
Разработчику необходимо интегрировать сервис авторизации. В документации предоставлен только пример cURL-запроса с заголовком авторизации и JSON-телом.
Проблема
Необходимо быстро переписать этот запрос на Go с использованием net/http, избегая ручного написания структуры запроса.
Как использовать
Вставьте команду cURL в поле ввода, активируйте опции форматирования тела и комментариев, затем скопируйте сгенерированный код.
Пример конфигурации
curl -X POST https://auth.example.com/oauth/token -H "Authorization: Bearer secret123" -H "Content-Type: application/json" -d '{"grant_type":"client_credentials"}'
Результат
Получен готовый Go-код, инициализирующий http.NewRequest с методом POST, установленными заголовками Authorization и Content-Type, а также телом запроса в формате JSON.

2. Отправка GET-запроса с кастомными заголовками

QA-инженер
Контекст
Инженер тестирует API и хочет автоматизировать проверку GET-запроса, содержащего специфические заголовки User-Agent и Accept, написав автотест на Go.
Проблема
Ручной перенос заголовков из cURL в код Go занимает время и может привести к опечаткам.
Как использовать
Скопируйте cURL-запрос из панели разработчика браузера, вставьте его в конвертер и скопируйте чистый код Go.
Пример конфигурации
curl https://api.example.com/data -H "User-Agent: Mozilla/5.0" -H "Accept: application/json"
Результат
Сгенерирован лаконичный блок кода Go, который создает GET-запрос и последовательно добавляет заголовки User-Agent и Accept через req.Header.Set.

Проверить на примерах

development

Связанные хабы

FAQ

Поддерживает ли конвертер методы POST и PUT с телом запроса?

Да, инструмент корректно обрабатывает параметры передачи данных, такие как -d или --data, и генерирует код для отправки тела запроса через bytes.NewBuffer.

Какие библиотеки Go используются в сгенерированном коде?

Используется исключительно стандартная библиотека Go, в частности пакет net/http, что исключает появление внешних зависимостей.

Можно ли отключить комментарии в генерируемом коде?

Да, для этого достаточно снять флажок «Включить комментарии» в настройках инструмента перед конвертацией.

Как обрабатываются кастомные заголовки (headers)?

Все заголовки, переданные через параметры -H или --header, автоматически преобразуются в вызовы метода req.Header.Set().

Безопасно ли вставлять cURL-команды с токенами авторизации?

Да, процесс конвертации выполняется полностью в вашем браузере, и конфиденциальные данные не отправляются на сторонние серверы.

Документация API

Конечная точка запроса

POST /ru/api/tools/curl-to-go

Параметры запроса

Имя параметра Тип Обязательно Описание
curlCommand textarea Да -
prettyBody checkbox Нет -
includeComments checkbox Нет -

Формат ответа

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Текст: Текст

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-curl-to-go": {
      "name": "curl-to-go",
      "description": "Преобразует команду cURL в фрагмент кода Go net/http с http.NewRequest, заголовками и телом",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=curl-to-go",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]