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
Open Ontwikkelaarstools
Druk op F12 of Ctrl+Shift+I om de ontwikkelaarstools van je browser te openen.
- 2
Ga naar het tabblad Netwerk
Klik op het tabblad Netwerk en voer de actie uit die het HTTP-verzoek activeert.
- 3
Kopiëren als cURL
Klik met de rechtermuisknop op het verzoek → Kopiëren → Kopië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.