Convertește curl în Go

Convertește comenzile curl în cod Go folosind pachetul standard net/http. curl2code rulează integral în browserul tău prin WebAssembly — datele tale rămân private. Dacă preferi un limbaj de nivel mai înalt, încearcă convertorul nostru curl în Python. Pentru programare de sistem, vezi curl în Rust. Mai jos sunt exemple Go gata de utilizat.

Cum să copiezi curl din browserul tău

  1. 1

    Deschide DevTools

    Apasă F12 sau Ctrl+Shift+I pentru a deschide instrumentele de dezvoltare ale browserului.

  2. 2

    Mergi la fila Network

    Fă clic pe fila Network și efectuează acțiunea care declanșează cererea HTTP.

  3. 3

    Copiază ca cURL

    Fă clic dreapta pe cerere → CopyCopy as cURL. Apoi lipește-o mai sus.

Întrebări frecvente

Ce este Go net/http?

net/http din Go este un client și server HTTP de nivel de producție, inclus în biblioteca standard. Nu necesită dependențe externe, suportă HTTP/2 în mod implicit și oferă pooling de conexiuni, timeout-uri și configurare TLS nativ. Este singura bibliotecă pe care curl2code o folosește pentru Go — nu sunt necesare pachete de la terți.

net/http vs clienți HTTP Go de la terți — pe care să îi folosesc?

net/http din Go este suficient de puternic pentru majoritatea cazurilor de utilizare — spre deosebire de multe limbaje, biblioteca standard este gata pentru producție. Opțiunile de la terți, cum ar fi resty, adaugă confort (reîncercări automate, înlănțuire), dar adaugă dependențe. Pentru o abordare similară cu funcționalități incluse, consultați convertorul curl în Rust (reqwest) sau curl în Python.

Cum se gestionează autentificarea în Go?

Setați antetul Authorization cu req.Header.Set("Authorization", "Bearer "+token). Pentru autentificarea Basic, utilizați req.SetBasicAuth(user, pass), care setează antetul automat. curl2code detectează -u și -H 'Authorization: ...' și generează codul Go corect.

Cum se trimit date de formular multipart în Go?

Utilizați pachetul mime/multipart: creați un writer cu multipart.NewWriter(body), adăugați câmpuri cu CreateFormField și fișiere cu CreateFormFile. Setați Content-Type la writer.FormDataContentType(). curl2code gestionează toate conversiile flag-urilor -F.

Cum se gestionează erorile HTTP în Go?

Go utilizează returnări explicite de erori: verificați întotdeauna if err != nil după http.Do(req). Apoi verificați resp.StatusCode pentru erori la nivel HTTP. Utilizați întotdeauna defer resp.Body.Close() pentru a preveni scurgerile de resurse. Această gestionare explicită a erorilor este un model de bază în Go — fără excepții, fără try/catch.

Cum se fac cereri HTTP concurente în Go?

Utilizați gorutine cu sync.WaitGroup sau canale. Lansați fiecare cerere într-o gorutină cu go func() { ... }(). Pentru concurență limitată, utilizați un canal de tip semafor. Gorutinele din Go sunt ușoare — puteți gestiona cu ușurință mii de cereri concurente. Pentru modele de concurență similare, consultați curl în Rust.

Cum se setează timeout-urile în clientul HTTP Go?

Setați client.Timeout pentru termenul limită general al cererii. Pentru un control granular, utilizați context.WithTimeout sau context.WithDeadline și transmiteți contextul către http.NewRequestWithContext. Opțiunea --connect-timeout din curl se mapează pe timeout-ul Transport.DialContext, iar --max-time se mapează pe client.Timeout.

Cum se configurează un proxy în Go?

Setați Transport.Proxy la http.ProxyURL(proxyUrl) pe un http.Transport personalizat. Go respectă, de asemenea, variabilele de mediu HTTP_PROXY și HTTPS_PROXY în mod implicit prin http.ProxyFromEnvironment. curl2code convertește flag-urile -x și --proxy în configurația proxy Go corespunzătoare.

Cum se trimite o cerere POST cu un corp JSON în Go?

Convertește o comandă curl POST precum curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL în Go folosind curl2code. Codul generat utilizează http.Post(url, "application/json", bytes.NewBuffer(jsonData)). curl2code detectează automat flag-urile -d/--data cu conținut JSON și setează antetul Content-Type corespunzător în codul net/http.

Cum se adaugă autorizarea prin Bearer token în Go?

Introdu curl -H "Authorization: Bearer YOUR_TOKEN" URL în curl2code și acesta va genera cod net/http cu antetul de autentificare: req.Header.Set("Authorization", "Bearer YOUR_TOKEN"). curl2code detectează Bearer tokens atât din flag-urile -H "Authorization: Bearer ...", cât și din --oauth2-bearer. Pentru Basic auth, utilizează -u user:pass.

Cum se setează antetul Content-Type în Go?

curl2code convertește curl -H "Content-Type: application/json" URL în cod net/http cu antetul corect: req.Header.Set("Content-Type", "application/json"). Pentru datele -d, curl folosește implicit application/x-www-form-urlencoded; pentru încărcările de formulare -F, folosește multipart/form-data. curl2code mapează fiecare opțiune către API-ul net/http corect.

Linkuri utile

Ghiduri curl

Convertește curl în alte limbaje