Konvertera curl till Rust
curl2code konverterar curl-kommandon till Rust-kod med craten reqwest. Konverteringen körs i din webbläsare via WebAssembly för total integritet. För Go, kolla in vår curl till Go-konverterare. För C, se curl till C. Nedan finns praktiska Rust-exempel med async/await.
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 Rust reqwest?
reqwest är den mest populära HTTP-klienten för Rust, byggd ovanpå hyper. Den erbjuder både blockerande och asynkrona API:er, automatisk JSON-serialisering via serde, TLS, cookie-hantering och proxystöd. Lägg till med cargo add reqwest --features json. Det är standardbiblioteket curl2code använder för Rust-konverteringar.
reqwest vs hyper vs ureq — vilken ska jag använda?
reqwest är förstahandsvalet för de flesta projekt — på hög nivå, funktionsrikt och asynkront. hyper är på en lägre nivå och ger maximal kontroll (reqwest är byggt på det). ureq är en minimal, endast blockerande klient utan beroende av en asynkron runtime. För ett liknande tillvägagångssätt med standardbibliotek, se curl till Go eller curl till C.
Hur hanterar man autentisering i Rust?
För Bearer: client.get(url).bearer_auth(token). För Basic: client.get(url).basic_auth(user, Some(pass)). Eller ställ in headers manuellt med .header("Authorization", value). curl2code konverterar flaggorna -u och -H 'Authorization: ...' till lämpliga reqwest-metoder.
Hur skickar man multipart-formulärdata i Rust?
Använd reqwest::multipart::Form: skapa med Form::new(), lägg till textfält med .text("key", "value") och filer med .file("field", path).await?. Skicka till client.post(url).multipart(form). curl2code hanterar -F-flaggor för reqwest multipart.
Hur hanterar man HTTP-fel i Rust?
reqwest returnerar Result som omsluter Response vid framgång eller reqwest::Error vid misslyckande — använd ?-operatorn för spridning. Kontrollera response.status().is_success() eller anropa response.error_for_status()? som konverterar icke-2xx-koder till fel. Rusts typsystem säkerställer att alla felvägar hanteras explicit vid kompilering.
Vilken asynkron runtime behöver reqwest?
reqwest kräver tokio-runtime som standard. Annotera din main med #[tokio::main]. För blockerande användning utan en asynkron runtime, aktivera funktionen blocking och använd reqwest::blocking::Client. curl2code genererar asynkron kod med tokio som standard. För ett annat asynkront ekosystem, se curl till Go (goroutiner).
Hur ställer man in timeouts i Rust reqwest?
Ställ in på klienten: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?. Per anrop: client.get(url).timeout(Duration::from_secs(5)). Dessa mappar till curls flaggor --max-time och --connect-timeout.
Hur använder man en proxy med reqwest?
Ställ in en proxy i klientens builder: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?. Stöder HTTP-, HTTPS- och SOCKS5-proxys. reqwest respekterar även miljövariablerna HTTP_PROXY och HTTPS_PROXY som standard. curl2code konverterar -x-flaggor till proxykonfiguration.
Hur skickar man en POST förfrågan med JSON body i Rust?
Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL till Rust med curl2code. Den genererade koden använder client.post(url).json(&data).send().await?. curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i reqwest kod.
Hur lägger man till Bearer token auktorisering i Rust?
Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras reqwest kod med auth header: .bearer_auth("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 Rust?
curl2code konverterar curl -H "Content-Type: application/json" URL till reqwest kod med rätt header: .header("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 reqwest API.