Konwertuj curl na Rust
curl2code konwertuje polecenia curl na kod Rust przy użyciu crate reqwest. Konwersja odbywa się w przeglądarce poprzez WebAssembly, zapewniając pełną prywatność. W przypadku Go, sprawdź nasz konwerter curl na Go. W przypadku C, zobacz curl na C. Poniżej znajdują się praktyczne przykłady w Rust z użyciem async/await.
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 Rust reqwest?
reqwest to najpopularniejszy klient HTTP dla języka Rust, zbudowany na bazie hyper. Zapewnia zarówno blokujące, jak i asynchroniczne API, automatyczną serializację JSON przez serde, TLS, obsługę ciasteczek i proxy. Dodaj go za pomocą cargo add reqwest --features json. Jest to domyślna biblioteka używana przez curl2code do konwersji na Rust.
reqwest vs hyper vs ureq — którego powinienem użyć?
reqwest to najlepszy wybór dla większości projektów — wysokopoziomowy, bogaty w funkcje i asynchroniczny. hyper jest niskopoziomowy i daje maksymalną kontrolę (reqwest jest na nim zbudowany). ureq to minimalny klient tylko blokujący, bez zależności od asynchronicznego runtime'u. Podobne podejście oparte na bibliotece standardowej znajdziesz w curl na Go lub curl na C.
Jak obsługiwać uwierzytelnianie w Rust?
Dla Bearer: client.get(url).bearer_auth(token). Dla Basic: client.get(url).basic_auth(user, Some(pass)). Możesz też ręcznie ustawić nagłówki za pomocą .header("Authorization", value). curl2code konwertuje flagi -u i -H 'Authorization: ...' na odpowiednie metody reqwest.
Jak wysyłać dane formularza multipart w Rust?
Użyj reqwest::multipart::Form: utwórz za pomocą Form::new(), dodaj pola tekstowe przez .text("key", "value"), a pliki przez .file("field", path).await?. Przekaż do client.post(url).multipart(form). curl2code obsługuje flagi -F dla multipart w reqwest.
Jak obsługiwać błędy HTTP w Rust?
reqwest zwraca Result opakowujący Response w przypadku sukcesu lub reqwest::Error w przypadku błędu — użyj operatora ? do propagacji. Sprawdź response.status().is_success() lub wywołaj response.error_for_status()?, które konwertuje kody inne niż 2xx na błędy. System typów Rust gwarantuje, że wszystkie ścieżki błędów są jawnie obsłużone w czasie kompilacji.
Którego asynchronicznego runtime'u potrzebuje reqwest?
reqwest domyślnie wymaga runtime'u tokio. Oznacz swoją funkcję main atrybutem #[tokio::main]. Dla użycia blokującego bez asynchronicznego runtime'u włącz funkcję blocking i używaj reqwest::blocking::Client. curl2code domyślnie generuje kod asynchroniczny z tokio. Inny ekosystem asynchroniczny znajdziesz w curl na Go (goroutines).
Jak ustawić limity czasu w Rust reqwest?
Ustaw na kliencie: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?. Na poziomie żądania: client.get(url).timeout(Duration::from_secs(5)). Mapują się one na flagi curl --max-time i --connect-timeout.
Jak używać proxy z reqwest?
Ustaw proxy w builderze klienta: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?. Obsługuje proxy HTTP, HTTPS i SOCKS5. reqwest domyślnie respektuje również zmienne środowiskowe HTTP_PROXY i HTTPS_PROXY. curl2code konwertuje flagi -x na konfigurację proxy.
Jak wysłać żądanie POST z ciałem JSON w języku Rust?
Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL na kod Rust za pomocą curl2code. Wygenerowany kod używa client.post(url).json(&data).send().await?. curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie reqwest.
Jak dodać autoryzację Bearer token w języku Rust?
Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod reqwest z nagłówkiem autoryzacji: .bearer_auth("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 Rust?
curl2code konwertuje curl -H "Content-Type: application/json" URL na kod reqwest z właściwym nagłówkiem: .header("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 reqwest.
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.