Konvertera curl till Go
Konvertera curl-kommandon till Go-kod med standardpaketet net/http. curl2code körs helt i din webbläsare via WebAssembly — din data förblir privat. Om du föredrar ett språk på högre nivå, prova vår curl till Python-konverterare. För systemprogrammering, se curl till Rust. Nedan finns färdiga Go-exempel.
Hur man kopierar curl från din webbläsare
- 1
Öppna DevTools
Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.
- 2
Gå till fliken Network
Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.
- 3
Kopiera som cURL
Högerklicka på begäran → Copy → Copy as cURL. Klistra sedan in den ovan.
Vanliga frågor
Vad är Go net/http?
Go:s net/http är en HTTP-klient och server av produktionskvalitet som ingår i standardbiblioteket. Det kräver inga externa beroenden, stöder HTTP/2 som standard och erbjuder anslutningspoolning, timeouts och TLS-konfiguration direkt ur lådan. Det är det enda biblioteket curl2code använder för Go — inga tredjepartspaket behövs.
net/http vs tredjeparts Go HTTP-klienter — vilken ska man använda?
Go:s net/http är kraftfullt nog för de flesta användningsområden — till skillnad från många andra språk är standardbiblioteket redo för produktion. Tredjepartsalternativ som resty lägger till bekvämlighet (automatiska omförsök, kedjning) men lägger till beroenden. För ett liknande tillvägagångssätt med allt inkluderat, se vår curl till Rust-konverterare (reqwest) eller curl till Python.
Hur hanterar man autentisering i Go?
Ställ in Authorization-headern med req.Header.Set("Authorization", "Bearer "+token). För Basic-autentisering, använd req.SetBasicAuth(user, pass) som ställer in headern automatiskt. curl2code upptäcker -u och -H 'Authorization: ...' och genererar korrekt Go-kod.
Hur skickar man multipart-formulärdata i Go?
Använd paketet mime/multipart: skapa en writer med multipart.NewWriter(body), lägg till fält med CreateFormField och filer med CreateFormFile. Ställ in Content-Type till writer.FormDataContentType(). curl2code hanterar alla -F-flaggkonverteringar.
Hur hanterar man HTTP-fel i Go?
Go använder explicita felreturer: kontrollera alltid if err != nil efter http.Do(req). Kontrollera sedan resp.StatusCode för fel på HTTP-nivå. Använd alltid defer resp.Body.Close() för att förhindra resursläckor. Denna explicita felhantering är ett kärnmönster i Go — inga undantag, ingen try/catch.
Hur gör man samtidiga HTTP-anrop i Go?
Använd goroutiner med sync.WaitGroup eller kanaler. Starta varje anrop i en goroutin med go func() { ... }(). För begränsad samtidighet, använd en semafor-kanal. Go:s goroutiner är lätta — du kan enkelt hantera tusentals samtidiga anrop. För liknande samtidighetmönster, se curl till Rust.
Hur ställer man in timeouts i Go:s HTTP-klient?
Ställ in client.Timeout för anropets totala tidsgräns. För detaljerad kontroll, använd context.WithTimeout eller context.WithDeadline och skicka kontexten till http.NewRequestWithContext. curls --connect-timeout mappar till Transport.DialContext timeout, --max-time mappar till client.Timeout.
Hur konfigurerar man en proxy i Go?
Ställ in Transport.Proxy till http.ProxyURL(proxyUrl) på en anpassad http.Transport. Go respekterar även miljövariablerna HTTP_PROXY och HTTPS_PROXY som standard via http.ProxyFromEnvironment. curl2code konverterar flaggorna -x och --proxy till lämplig Go-proxykonfiguration.
Hur skickar man en POST förfrågan med JSON body i Go?
Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL till Go med curl2code. Den genererade koden använder http.Post(url, "application/json", bytes.NewBuffer(jsonData)). curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i net/http kod.
Hur lägger man till Bearer token auktorisering i Go?
Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras net/http kod med auth header: req.Header.Set("Authorization", "Bearer YOUR_TOKEN"). curl2code detekterar Bearer tokens från både -H "Authorization: Bearer ..." och --oauth2-bearer flaggor. För Basic auth, använd -u user:pass.
Hur ställer man in Content-Type header i Go?
curl2code konverterar curl -H "Content-Type: application/json" URL till net/http kod med rätt header: req.Header.Set("Content-Type", "application/json"). För -d data använder curl som standard application/x-www-form-urlencoded; för -F formuläruppladdningar används multipart/form-data. curl2code mappar varje del till rätt net/http API.