curl zu Go Konverter

Konvertiere einen curl-Befehl sofort in deinem Browser in Go-net/http-Code. Der Befehl bleibt auf deinem Gerät.

Dein curl-Befehl wird lokal in deinem Browser in Go umgewandelt und nie hochgeladen, aber vermeide es, echte Produktions-Tokens oder Zugangsdaten in irgendein Tool einzufügen.

Brauchst du auch eine JavaScript-Version? Probiere cURL zu Fetch.

Über curl zu Go

Dieser curl-zu-go-Konverter schreibt einen curl-Befehl als idiomatisches Go mit dem Standard-Paket net/http um, sodass du einen API-Aufruf direkt in einen Go-Service einfügen kannst, ohne ihn von Hand zu verdrahten. Als curl-zu-golang-Tool liest er Flags wie -X, -H, -d, --data-raw, --json, -u, -b und -G, baut ein http.NewRequest mit der richtigen Methode, setzt jeden Header mit req.Header.Set und umschließt den Body in einem strings.NewReader. Die generierte main() liest die Antwort mit io.ReadAll und gibt den Status aus, bereit zum Kompilieren mit go run. Nutze ihn, wenn du einen curl-Test in einen Backend-Handler, ein CLI oder einen Worker übernimmst. Die Umwandlung passiert in deinem Browser, sodass der Befehl und alle darin enthaltenen Tokens lokal auf deinem Gerät verarbeitet werden und es nie verlassen.

Funktionen

So verwendest du curl zu Go

  1. Füge deinen curl-Befehl in das cURL-Befehlsfeld ein.
  2. Lies das generierte Go-net/http-Programm im Ausgabefeld.
  3. Prüfe das Warnbanner auf Flags, die angepasst oder übersprungen wurden.
  4. Klicke auf Kopieren oder lade die Datei als request.go herunter und führe sie mit go run aus.

Beispiel

Eingabe

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

Ausgabe

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))
}

Ein GET ohne Body übergibt nil an http.NewRequest und lässt den strings-Import weg.

Häufige Fehler & Fehlerbehebung

Häufig gestellte Fragen

Wie konvertiere ich einen curl-Befehl in Go?
Füge den curl-Befehl in das Eingabefeld ein und der Konverter rendert auf der rechten Seite ein komplettes Go-net/http-Programm, das du kopieren oder als request.go herunterladen kannst.
Nutzt der generierte Go-Code die Standardbibliothek?
Ja. Er nutzt net/http, io, fmt und strings nur aus der Standardbibliothek, sodass es nichts Zusätzliches zu go get gibt, bevor du ihn ausführst.
Wie wird der Request-Body in Go dargestellt?
Der Body wird in strings.NewReader umschlossen und an http.NewRequest übergeben, und der strings-Import wird automatisch nur hinzugefügt, wenn ein Body vorhanden ist.
Kann ich die Ausgabe direkt mit go run ausführen?
Ja. Der Konverter gibt ein vollständiges package main mit einer main()-Funktion, grundlegender Fehlerbehandlung und Antwortausgabe aus, sodass go run request.go ohne Anpassung funktioniert.
Wird mein curl-Befehl an einen Server gesendet, wenn ich ihn in Go konvertiere?
Nein. Die curl-zu-go-Umwandlung läuft vollständig in deinem Browser, sodass der Befehl und alle darin enthaltenen Secrets auf deinem Gerät bleiben.

Verwandte Tools

Alle ArrayKit-Tools