Konwertuj curl na Go
Konwertuj polecenia curl na kod Go przy użyciu standardowego pakietu net/http. curl2code działa w całości w przeglądarce poprzez WebAssembly — Twoje dane pozostają prywatne. Jeśli wolisz język wyższego poziomu, wypróbuj nasz konwerter curl na Python. W przypadku programowania systemowego, zobacz curl na Rust. Poniżej znajdują się gotowe do użycia przykłady w Go.
Jak skopiować polecenie curl z przeglądarki
- 1
Otwórz DevTools
Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.
- 2
Przejdź do karty Sieć
Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.
- 3
Kopiuj jako cURL
Kliknij żądanie prawym przyciskiem myszy → Kopiuj → Kopiuj jako cURL. Następnie wklej je powyżej.
Najczęściej zadawane pytania
Czym jest net/http w Go?
Pakiet net/http w Go to gotowy do produkcji klient i serwer HTTP zawarty w bibliotece standardowej. Nie wymaga zewnętrznych zależności, domyślnie obsługuje HTTP/2 i zapewnia pulowanie połączeń, limity czasu oraz konfigurację TLS po wyjęciu z pudełka. Jest to jedyna biblioteka, której curl2code używa dla Go — nie są potrzebne żadne pakiety firm trzecich.
net/http vs zewnętrzne klienty HTTP w Go — którego użyć?
Pakiet net/http w Go jest wystarczająco potężny dla większości zastosowań — w przeciwieństwie do wielu języków, biblioteka standardowa jest gotowa do produkcji. Opcje firm trzecich, takie jak resty, dodają wygodę (automatyczne ponowne próby, łańcuchowanie), ale wprowadzają zależności. Aby uzyskać podobne podejście typu "baterie w zestawie", sprawdź nasz konwerter curl na Rust (reqwest) lub konwerter curl na Python.
Jak obsługiwać uwierzytelnianie w Go?
Ustaw nagłówek Authorization za pomocą req.Header.Set("Authorization", "Bearer "+token). Dla Basic auth użyj req.SetBasicAuth(user, pass), co automatycznie ustawia nagłówek. curl2code wykrywa -u oraz -H 'Authorization: ...' i generuje poprawny kod Go.
Jak wysyłać dane formularza multipart w Go?
Użyj pakietu mime/multipart: utwórz writer za pomocą multipart.NewWriter(body), dodaj pola za pomocą CreateFormField, a pliki za pomocą CreateFormFile. Ustaw Content-Type na writer.FormDataContentType(). curl2code obsługuje wszystkie konwersje flag -F.
Jak obsługiwać błędy HTTP w Go?
Go używa jawnego zwracania błędów: zawsze sprawdzaj if err != nil po http.Do(req). Następnie sprawdź resp.StatusCode pod kątem błędów na poziomie HTTP. Zawsze używaj defer resp.Body.Close(), aby zapobiec wyciekom zasobów. To jawne obsługiwanie błędów jest podstawowym wzorcem w Go — bez wyjątków, bez try/catch.
Jak wykonywać współbieżne żądania HTTP w Go?
Używaj goroutines z sync.WaitGroup lub kanałami. Uruchamiaj każde żądanie w goroutine za pomocą go func() { ... }(). Dla ograniczonej współbieżności użyj kanału semafora. Goroutines w Go są lekkie — możesz łatwo obsłużyć tysiące współbieżnych żądań. Podobne wzorce współbieżności znajdziesz w curl na Rust.
Jak ustawić limity czasu w kliencie HTTP Go?
Ustaw client.Timeout dla ogólnego terminu żądania. Aby uzyskać precyzyjną kontrolę, użyj context.WithTimeout lub context.WithDeadline i przekaż kontekst do http.NewRequestWithContext. Flaga curl --connect-timeout mapuje się na limit czasu Transport.DialContext, a --max-time na client.Timeout.
Jak skonfigurować proxy w Go?
Ustaw Transport.Proxy na http.ProxyURL(proxyUrl) w niestandardowym http.Transport. Go domyślnie respektuje również zmienne środowiskowe HTTP_PROXY i HTTPS_PROXY poprzez http.ProxyFromEnvironment. curl2code konwertuje flagi -x i --proxy na odpowiednią konfigurację proxy w Go.
Jak wysłać żądanie POST z ciałem JSON w języku Go?
Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL na kod Go za pomocą curl2code. Wygenerowany kod używa http.Post(url, "application/json", bytes.NewBuffer(jsonData)). curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie net/http.
Jak dodać autoryzację Bearer token w języku Go?
Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod net/http z nagłówkiem autoryzacji: req.Header.Set("Authorization", "Bearer YOUR_TOKEN"). curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.
Jak ustawić nagłówek Content-Type w języku Go?
curl2code konwertuje curl -H "Content-Type: application/json" URL na kod net/http z właściwym nagłówkiem: req.Header.Set("Content-Type", "application/json"). Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API net/http.
Przydatne linki
Poradniki curl
Kody błędów curl
Sprawdź dowolny kod wyjścia curl — przyczyny, rozwiązania i wskazówki debugowania.
Pobieranie plików za pomocą curl
Zapisuj pliki z -o, -O, podążaj za przekierowaniami, wznawiaj pobieranie i więcej.
SSL, TLS i proxy
Konfiguracja certyfikatów, wersji TLS, proxy HTTP/SOCKS i niestandardowego DNS.