Konverter curl til Go

Konverter curl-kommandoer til Go-kode ved hjælp af standardpakken net/http. curl2code kører udelukkende i din browser via WebAssembly — dine data forbliver private. Hvis du foretrækker et sprog på højere niveau, kan du prøve vores curl til Python-konverter. For systemprogrammering, se curl til Rust. Nedenfor er Go-eksempler, der er klar til brug.

Sådan kopierer du curl fra din browser

  1. 1

    Åbn DevTools

    Tryk på F12 eller Ctrl+Shift+I for at åbne din browsers udviklerværktøjer.

  2. 2

    Gå til fanen Network

    Klik på fanen Network og udfør den handling, der udløser HTTP-anmodningen.

  3. 3

    Kopier som cURL

    Højreklik på anmodningen → CopyCopy as cURL. Indsæt den derefter ovenfor.

Ofte stillede spørgsmål

Hvad er Go net/http?

Gos net/http er en HTTP-klient og -server i produktionskvalitet, der er inkluderet i standardbiblioteket. Det kræver ingen eksterne afhængigheder, understøtter HTTP/2 som standard og tilbyder connection pooling, timeouts og TLS-konfiguration direkte. Det er det eneste bibliotek, curl2code bruger til Go — ingen tredjepartspakker er nødvendige.

net/http vs tredjeparts Go HTTP-klienter — hvad skal man bruge?

Gos net/http er kraftfuld nok til de fleste brugsscenarier — i modsætning til mange sprog er standardbiblioteket klar til produktion. Tredjepartsmuligheder som resty tilføjer bekvemmelighed (automatiske genforsøg, chaining), men tilføjer afhængigheder. For en lignende 'batteries-included' tilgang, se vores curl til Rust-konverter (reqwest) eller curl til Python.

Hvordan håndteres godkendelse i Go?

Indstil Authorization-headeren med req.Header.Set("Authorization", "Bearer "+token). For Basic-auth skal du bruge req.SetBasicAuth(user, pass), som indstiller headeren automatisk. curl2code registrerer -u og -H 'Authorization: ...' og genererer den korrekte Go-kode.

Hvordan sender man multipart-formulardata i Go?

Brug pakken mime/multipart: opret en writer med multipart.NewWriter(body), tilføj felter med CreateFormField og filer med CreateFormFile. Indstil Content-Type til writer.FormDataContentType(). curl2code håndterer alle -F-flagkonverteringer.

Hvordan håndteres HTTP-fejl i Go?

Go bruger eksplicitte fejlreturneringer: tjek altid if err != nil efter http.Do(req). Tjek derefter resp.StatusCode for fejl på HTTP-niveau. Brug altid defer resp.Body.Close() for at forhindre ressourcelækager. Denne eksplicitte fejlhåndtering er et kerne-Go-mønster — ingen undtagelser, ingen try/catch.

Hvordan foretager man samtidige HTTP-anmodninger i Go?

Brug goroutines med sync.WaitGroup eller kanaler. Start hver anmodning i en goroutine med go func() { ... }(). For begrænset samtidighed skal du bruge en semafor-kanal. Gos goroutines er letvægts — du kan nemt håndtere tusindvis af samtidige anmodninger. For lignende samtidighedsmønstre, se curl til Rust.

Hvordan indstilles timeouts i Go HTTP-klient?

Indstil client.Timeout for den overordnede anmodningsdeadline. For finmasket kontrol skal du bruge context.WithTimeout eller context.WithDeadline og sende konteksten til http.NewRequestWithContext. curls --connect-timeout mapper til Transport.DialContext-timeout, --max-time mapper til client.Timeout.

Hvordan konfigureres en proxy i Go?

Indstil Transport.Proxy til http.ProxyURL(proxyUrl) på en brugerdefineret http.Transport. Go respekterer også HTTP_PROXY og HTTPS_PROXY miljøvariabler som standard via http.ProxyFromEnvironment. curl2code konverterer -x og --proxy-flag til den relevante Go-proxykonfiguration.

Hvordan sender man en POST-anmodning med JSON-body i Go?

Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL til Go ved hjælp af curl2code. Den genererede kode bruger http.Post(url, "application/json", bytes.NewBuffer(jsonData)). curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i net/http-koden.

Hvordan tilføjer man Bearer token-autorisation i Go?

Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer net/http-kode med auth-headeren: req.Header.Set("Authorization", "Bearer YOUR_TOKEN"). curl2code registrerer Bearer-tokens fra både -H "Authorization: Bearer ..." og --oauth2-bearer-flag. Til Basic auth skal du bruge -u user:pass.

Hvordan indstiller man Content-Type-headeren i Go?

curl2code konverterer curl -H "Content-Type: application/json" URL til net/http-kode med den korrekte header: req.Header.Set("Content-Type", "application/json"). For -d-data bruger curl som standard application/x-www-form-urlencoded; for -F-formular-uploads bruges multipart/form-data. curl2code mapper hver af disse til den korrekte net/http API.

Nyttige links

curl-guider

Konverter curl til andre sprog