Конвертер curl в Go

Конвертируйте команду curl в код Go net/http мгновенно в вашем браузере. Команда остаётся на вашем устройстве.

Ваша команда curl конвертируется в Go локально в вашем браузере и никогда не загружается, но избегайте вставки настоящих рабочих токенов или учётных данных в любые инструменты.

Нужна ещё и версия на JavaScript? Попробуйте cURL в Fetch.

Об инструменте curl в Go

Этот конвертер curl в go переписывает команду curl как идиоматичный Go с использованием стандартного пакета net/http, чтобы вы могли поместить вызов API прямо в Go-сервис без ручной настройки. Как инструмент curl в golang он читает флаги вроде -X, -H, -d, --data-raw, --json, -u, -b и -G, строит http.NewRequest с правильным методом, задаёт каждый заголовок через req.Header.Set и оборачивает тело в strings.NewReader. Сгенерированный main() читает ответ через io.ReadAll и выводит статус, готовый к компиляции командой go run. Используйте его при переносе теста curl в backend-обработчик, CLI или воркер. Преобразование происходит в вашем браузере, поэтому команда и любые токены в ней обрабатываются локально на вашем устройстве и никогда его не покидают.

Возможности

Как использовать curl в Go

  1. Вставьте команду curl в поле команды cURL.
  2. Прочитайте сгенерированную программу Go net/http в панели вывода.
  3. Проверьте баннер предупреждений на наличие изменённых или пропущенных флагов.
  4. Нажмите «Копировать» или скачайте файл как request.go и запустите его командой go run.

Пример

Ввод

curl https://api.example.com/ping

Результат

package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    url := "https://api.example.com/ping"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        panic(err)
    }

    res, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer res.Body.Close()

    data, _ := io.ReadAll(res.Body)
    fmt.Println(res.Status)
    fmt.Println(string(data))
}

GET без тела передаёт nil в http.NewRequest и пропускает импорт strings.

Частые ошибки и устранение неполадок

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

Как преобразовать команду curl в Go?
Вставьте команду curl в поле ввода, и конвертер отобразит полную программу Go net/http справа, которую можно скопировать или скачать как request.go.
Использует ли сгенерированный код Go стандартную библиотеку?
Да. Он использует net/http, io, fmt и strings только из стандартной библиотеки, поэтому перед запуском не нужно ничего go get.
Как тело запроса представлено в Go?
Тело оборачивается в strings.NewReader и передаётся в http.NewRequest, а импорт strings добавляется автоматически только при наличии тела.
Можно ли запустить вывод напрямую командой go run?
Да. Конвертер выдаёт полный package main с функцией main(), базовой обработкой ошибок и выводом ответа, поэтому go run request.go работает как есть.
Отправляется ли моя команда curl на сервер, когда я конвертирую её в Go?
Нет. Преобразование curl в go выполняется полностью в вашем браузере, поэтому команда и любые секреты в ней остаются на вашем устройстве.

Связанные инструменты

Все инструменты ArrayKit