curl in Go konvertieren

Konvertieren Sie curl-Befehle in Go-Code unter Verwendung des Standardpakets net/http. curl2code läuft vollständig in Ihrem Browser via WebAssembly – Ihre Daten bleiben privat. Wenn Sie eine High-Level-Sprache bevorzugen, testen Sie unseren curl zu Python Konverter. Für Systemprogrammierung siehe curl zu Rust. Unten finden Sie sofort einsatzbereite Go-Beispiele.

So kopieren Sie curl aus Ihrem Browser

  1. 1

    DevTools öffnen

    Drücken Sie F12 oder Ctrl+Shift+I, um die Entwicklertools Ihres Browsers zu öffnen.

  2. 2

    Zum Reiter Netzwerk gehen

    Klicken Sie auf den Reiter Netzwerk und führen Sie die Aktion aus, die den HTTP-Request auslöst.

  3. 3

    Als cURL kopieren

    Rechtsklick auf den Request → KopierenAls cURL kopieren. Dann oben einfügen.

Häufig gestellte Fragen (FAQ)

Was ist Go net/http?

Gos net/http ist ein in der Standardbibliothek enthaltener HTTP-Client und -Server in Produktionsqualität. Er erfordert keine externen Abhängigkeiten, unterstützt standardmäßig HTTP/2 und bietet nativ Connection Pooling, Timeouts und TLS-Konfiguration. Es ist die einzige Bibliothek, die curl2code für Go verwendet – es sind keine Pakete von Drittanbietern erforderlich.

net/http vs Go-HTTP-Clients von Drittanbietern — was sollte ich verwenden?

Gos net/http ist leistungsstark genug für die meisten Anwendungsfälle – im Gegensatz zu vielen Sprachen ist die Standardbibliothek produktionsreif. Optionen von Drittanbietern wie resty bieten Komfort (automatische Wiederholungsversuche, Chaining), fügen aber Abhängigkeiten hinzu. Für einen ähnlichen "Batteries-included"-Ansatz siehe unseren curl zu Rust Konverter (reqwest) oder curl zu Python.

Wie wird die Authentifizierung in Go gehandhabt?

Setzen Sie den Authorization-Header mit req.Header.Set("Authorization", "Bearer "+token). Für Basic-Auth verwenden Sie req.SetBasicAuth(user, pass), was den Header automatisch setzt. curl2code erkennt -u und -H 'Authorization: ...' und generiert den korrekten Go-Code.

Wie sendet man Multipart-Formulardaten in Go?

Verwenden Sie das Paket mime/multipart: Erstellen Sie einen Writer mit multipart.NewWriter(body), fügen Sie Felder mit CreateFormField und Dateien mit CreateFormFile hinzu. Setzen Sie den Content-Type auf writer.FormDataContentType(). curl2code verarbeitet alle -F-Flag-Konvertierungen.

Wie werden HTTP-Fehler in Go gehandhabt?

Go verwendet explizite Fehlerrückgaben: Prüfen Sie nach if err != nil immer http.Do(req). Überprüfen Sie dann resp.StatusCode auf Fehler auf HTTP-Ebene. Verwenden Sie immer defer resp.Body.Close(), um Ressourcenlecks zu vermeiden. Diese explizite Fehlerbehandlung ist ein Kernmuster von Go – keine Ausnahmen, kein try/catch.

Wie macht man gleichzeitige HTTP-Anfragen in Go?

Verwenden Sie Goroutinen mit sync.WaitGroup oder Channels. Starten Sie jede Anfrage in einer Goroutine mit go func() { ... }(). Für begrenzte Nebenläufigkeit verwenden Sie einen Semaphor-Channel. Gos Goroutinen sind leichtgewichtig – Sie können problemlos Tausende von gleichzeitigen Anfragen verarbeiten. Für ähnliche Nebenläufigkeitsmuster siehe curl zu Rust.

Wie setzt man Timeouts im Go-HTTP-Client?

Setzen Sie client.Timeout für die gesamte Frist der Anfrage. Für eine feingranulare Steuerung verwenden Sie context.WithTimeout oder context.WithDeadline und übergeben Sie den Kontext an http.NewRequestWithContext. Die curl-Option --connect-timeout wird auf den Transport.DialContext-Timeout abgebildet, --max-time auf client.Timeout.

Wie konfiguriert man einen Proxy in Go?

Setzen Sie Transport.Proxy auf http.ProxyURL(proxyUrl) in einem benutzerdefinierten http.Transport. Go berücksichtigt standardmäßig auch die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY über http.ProxyFromEnvironment. curl2code konvertiert -x und --proxy Flags in die entsprechende Go-Proxy-Konfiguration.

Wie sendet man eine POST-Anfrage mit JSON-Body in Go?

Konvertieren Sie einen curl POST Befehl wie curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL mit curl2code nach Go. Der generierte Code verwendet http.Post(url, "application/json", bytes.NewBuffer(jsonData)). curl2code erkennt automatisch -d/--data Flags mit JSON Inhalt und setzt den entsprechenden Content-Type Header im net/http Code.

Wie fügt man eine Bearer Token Autorisierung in Go hinzu?

Übergeben Sie curl -H "Authorization: Bearer YOUR_TOKEN" URL an curl2code und es generiert net/http Code mit dem Auth Header: req.Header.Set("Authorization", "Bearer YOUR_TOKEN"). curl2code erkennt Bearer Tokens sowohl in -H "Authorization: Bearer ..." als auch in --oauth2-bearer Flags. Für Basic auth verwenden Sie -u user:pass.

Wie setzt man den Content-Type Header in Go?

curl2code konvertiert curl -H "Content-Type: application/json" URL in net/http Code mit dem richtigen Header: req.Header.Set("Content-Type", "application/json"). Bei -d Daten verwendet curl standardmäßig application/x-www-form-urlencoded; bei -F Formular-Uploads wird multipart/form-data verwendet. curl2code ordnet beides der korrekten net/http API zu.

Nützliche Links

curl-Anleitungen

curl in andere Sprachen konvertieren