Konverter curl til Rust

curl2code konverterer curl-kommandoer til Rust-kode ved hjælp af reqwest-craten. Konverteringen kører i din browser via WebAssembly for fuldstændig privatliv. For Go, tjek vores curl til Go-konverter. For C, se curl til C. Nedenfor er praktiske Rust-eksempler med async/await.

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 Rust reqwest?

reqwest er den mest populære HTTP-klient til Rust, bygget oven på hyper. Den tilbyder både blokerende og asynkrone API'er, automatisk JSON-serialisering via serde, TLS, cookie-håndtering og proxy-support. Tilføj med cargo add reqwest --features json. Det er standardbiblioteket, som curl2code bruger til Rust-konverteringer.

reqwest vs hyper vs ureq — hvad skal jeg bruge?

reqwest er det foretrukne valg til de fleste projekter — på højt niveau, funktionsrigt og asynkront. hyper er på lavere niveau og giver maksimal kontrol (reqwest er bygget på det). ureq er en minimal klient, der kun er blokerende, uden afhængighed af asynkron runtime. For en lignende standardbibliotekstilgang, se curl til Go eller curl til C.

Hvordan håndteres godkendelse i Rust?

For Bearer: client.get(url).bearer_auth(token). For Basic: client.get(url).basic_auth(user, Some(pass)). Eller indstil headere manuelt med .header("Authorization", value). curl2code konverterer -u og -H 'Authorization: ...'-flag til de relevante reqwest-metoder.

Hvordan sender man multipart-formulardata i Rust?

Brug reqwest::multipart::Form: opret med Form::new(), tilføj tekstfelter med .text("key", "value") og filer med .file("field", path).await?. Send til client.post(url).multipart(form). curl2code håndterer -F-flag for reqwest multipart.

Hvordan håndteres HTTP-fejl i Rust?

reqwest returnerer Result, der wrapper Response ved succes eller reqwest::Error ved fejl — brug ?-operatøren til udbredelse. Tjek response.status().is_success() eller kald response.error_for_status()?, som konverterer statuskoder, der ikke er 2xx, til fejl. Rusts typesystem sikrer, at alle fejlveje håndteres eksplicit ved kompileringstid.

Hvilken asynkron runtime har reqwest brug for?

reqwest kræver som standard tokio-runtime. Annoter din main med #[tokio::main]. For blokerende brug uden en asynkron runtime, aktiver funktionen blocking og brug reqwest::blocking::Client. curl2code genererer asynkron kode med tokio som standard. For et andet asynkront økosystem, se curl til Go (goroutines).

Hvordan indstilles timeouts i Rust reqwest?

Indstil på klienten: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?. Pr. anmodning: client.get(url).timeout(Duration::from_secs(5)). Disse mapper til curls --max-time og --connect-timeout-flag.

Hvordan bruger man en proxy med reqwest?

Indstil en proxy på klient-builderen: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?. Understøtter HTTP, HTTPS og SOCKS5-proxyer. reqwest respekterer også HTTP_PROXY og HTTPS_PROXY miljøvariabler som standard. curl2code konverterer -x-flag til proxykonfiguration.

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

Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL til Rust ved hjælp af curl2code. Den genererede kode bruger client.post(url).json(&data).send().await?. curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i reqwest-koden.

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

Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer reqwest-kode med auth-headeren: .bearer_auth("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 Rust?

curl2code konverterer curl -H "Content-Type: application/json" URL til reqwest-kode med den korrekte header: .header("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 reqwest API.

Nyttige links

curl-guider

Konverter curl til andre sprog