Converteer curl naar Go

Converteer curl-opdrachten naar Go-code met het standaard net/http-pakket. curl2code wordt volledig in je browser uitgevoerd via WebAssembly — je gegevens blijven privé. Als je de voorkeur geeft aan een taal van een hoger niveau, probeer dan onze curl naar Python-converter. Voor systeemprogrammering, zie curl naar Rust. Hieronder staan kant-en-klare Go-voorbeelden.

Hoe je curl kopieert vanuit je browser

  1. 1

    Open Ontwikkelaarstools

    Druk op F12 of Ctrl+Shift+I om de ontwikkelaarstools van je browser te openen.

  2. 2

    Ga naar het tabblad Netwerk

    Klik op het tabblad Netwerk en voer de actie uit die het HTTP-verzoek activeert.

  3. 3

    Kopiëren als cURL

    Klik met de rechtermuisknop op het verzoek → KopiërenKopiëren als cURL. Plak het vervolgens hierboven.

Veelgestelde vragen

Wat is Go net/http?

Go's net/http is een productiewaardige HTTP-client en -server die is opgenomen in de standaardbibliotheek. Het vereist geen externe afhankelijkheden, ondersteunt standaard HTTP/2 en biedt direct uit de doos connection pooling, timeouts en TLS-configuratie. Het is de enige bibliotheek die curl2code gebruikt voor Go — er zijn geen pakketten van derden nodig.

net/http vs HTTP-clients van derden in Go — welke te gebruiken?

Go's net/http is krachtig genoeg voor de meeste use-cases — in tegenstelling tot veel andere talen is de standaardbibliotheek klaar voor productie. Opties van derden zoals resty voegen gemak toe (auto-retries, chaining) maar voegen ook afhankelijkheden toe. Voor een vergelijkbare 'batteries-included' aanpak, zie onze curl naar Rust-converter (reqwest) of curl naar Python.

Hoe handel ik authenticatie af in Go?

Stel de Authorization header in met req.Header.Set("Authorization", "Bearer "+token). Gebruik voor Basic-authenticatie req.SetBasicAuth(user, pass), wat de header automatisch instelt. curl2code detecteert -u en -H 'Authorization: ...' en genereert de juiste Go-code.

Hoe verstuur ik multipart form data in Go?

Gebruik het mime/multipart pakket: maak een writer aan met multipart.NewWriter(body), voeg velden toe met CreateFormField en bestanden met CreateFormFile. Stel Content-Type in op writer.FormDataContentType(). curl2code verwerkt alle -F flag-conversies.

Hoe ga ik om met HTTP-fouten in Go?

Go gebruikt expliciete error-returns: controleer altijd if err != nil na http.Do(req). Controleer vervolgens resp.StatusCode voor fouten op HTTP-niveau. Gebruik altijd defer resp.Body.Close() om resource-lekken te voorkomen. Deze expliciete foutafhandeling is een kernpatroon in Go — geen exceptions, geen try/catch.

Hoe maak ik gelijktijdige HTTP-requests in Go?

Gebruik goroutines met sync.WaitGroup of channels. Start elke request in een goroutine met go func() { ... }(). Gebruik voor begrensde concurrency een semaphore-kanaal. Go's goroutines zijn lichtgewicht — u kunt gemakkelijk duizenden gelijktijdige requests afhandelen. Zie voor vergelijkbare concurrency-patronen curl naar Rust.

Hoe stel ik timeouts in de Go HTTP-client in?

Stel client.Timeout in voor de algemene deadline van de request. Gebruik voor fijnmazige controle context.WithTimeout of context.WithDeadline en geef de context door aan http.NewRequestWithContext. De --connect-timeout van curl wordt gemapt naar de Transport.DialContext timeout, --max-time wordt gemapt naar client.Timeout.

Hoe configureer ik een proxy in Go?

Stel Transport.Proxy in op http.ProxyURL(proxyUrl) op een aangepaste http.Transport. Go respecteert standaard ook HTTP_PROXY en HTTPS_PROXY omgevingsvariabelen via http.ProxyFromEnvironment. curl2code converteert -x en --proxy flags naar de juiste Go-proxyconfiguratie.

Hoe verstuur je een POST-verzoek met een JSON body in Go?

Converteer een curl POST-commando zoals curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL naar Go met curl2code. De gegenereerde code gebruikt http.Post(url, "application/json", bytes.NewBuffer(jsonData)). curl2code detecteert automatisch -d/--data flags met JSON-inhoud en stelt de juiste Content-Type header in de net/http code in.

Hoe voeg je Bearer token autorisatie toe in Go?

Geef curl -H "Authorization: Bearer YOUR_TOKEN" URL door aan curl2code en het genereert net/http code met de auth header: req.Header.Set("Authorization", "Bearer YOUR_TOKEN"). curl2code detecteert Bearer tokens van zowel -H "Authorization: Bearer ..." als --oauth2-bearer flags. Gebruik voor Basic auth -u user:pass.

Hoe stel je de Content-Type header in in Go?

curl2code converteert curl -H "Content-Type: application/json" URL naar net/http code met de juiste header: req.Header.Set("Content-Type", "application/json"). Voor -d data gebruikt curl standaard application/x-www-form-urlencoded; voor -F formulier-uploads wordt multipart/form-data gebruikt. curl2code koppelt elk type aan de juiste net/http API.

Handige links

curl handleidingen

Converteer curl naar andere talen