Převést curl do Rust

curl2code převádí curl příkazy na kód v Rustu pomocí crate reqwest. Převod probíhá ve vašem prohlížeči přes WebAssembly pro úplné soukromí. Pro Go se podívejte na náš převodník curl do Go. Pro C viz curl do C. Níže jsou praktické příklady v Rustu s async/await.

Jak zkopírovat curl z prohlížeče

  1. 1

    Otevřete DevTools

    Stiskněte F12 nebo Ctrl+Shift+I pro otevření vývojářských nástrojů prohlížeče.

  2. 2

    Přejděte na kartu Network

    Klikněte na kartu Network a proveďte akci, která vyvolá HTTP požadavek.

  3. 3

    Zkopírovat jako cURL

    Klikněte pravým tlačítkem na požadavek → CopyCopy as cURL. Poté jej vložte výše.

Často kladené dotazy

Co je Rust reqwest?

reqwest je nejoblíbenější HTTP klient pro Rust, postavený na knihovně hyper. Poskytuje blokující i asynchronní API, automatickou serializaci JSON přes serde, TLS, správu cookies a podporu proxy. Přidejte pomocí cargo add reqwest --features json. Je to výchozí knihovna, kterou curl2code používá pro převody do Rustu.

reqwest vs hyper vs ureq — co mám použít?

reqwest je jasná volba pro většinu projektů — je vysokoúrovňový, bohatý na funkce a asynchronní. hyper je nízkoúrovňový a poskytuje maximální kontrolu (reqwest je na něm postaven). ureq je minimální, pouze blokující klient bez závislosti na asynchronním runtime. Pro podobný přístup se standardní knihovnou viz curl do Go nebo curl do C.

Jak řešit autentizaci v Rustu?

Pro Bearer: client.get(url).bearer_auth(token). Pro Basic: client.get(url).basic_auth(user, Some(pass)). Nebo nastavte hlavičky ručně pomocí .header("Authorization", value). curl2code převádí přepínače -u a -H 'Authorization: ...' na příslušné metody reqwest.

Jak posílat multipart form data v Rustu?

Použijte reqwest::multipart::Form: vytvořte pomocí Form::new(), přidejte textová pole pomocí .text("key", "value") a soubory pomocí .file("field", path).await?. Předejte do client.post(url).multipart(form). curl2code zpracovává přepínače -F pro reqwest multipart.

Jak řešit HTTP chyby v Rustu?

reqwest vrací Result obalující Response při úspěchu nebo reqwest::Error při selhání — pro propagaci použijte operátor ?. Zkontrolujte response.status().is_success() nebo zavolejte response.error_for_status()?, což převede stavové kódy mimo 2xx na chyby. Typový systém Rustu zajišťuje, že všechny cesty chyb jsou explicitně ošetřeny v době kompilace.

Který asynchronní runtime reqwest potřebuje?

reqwest ve výchozím nastavení vyžaduje runtime tokio. Označte svou funkci main pomocí #[tokio::main]. Pro blokující použití bez asynchronního runtime povolte funkci blocking a použijte reqwest::blocking::Client. curl2code generuje asynchronní kód s tokio jako výchozí. Pro jiný asynchronní ekosystém viz curl do Go (goroutiny).

Jak nastavit timeouty v Rust reqwest?

Nastavte na klientovi: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?. Pro jednotlivé požadavky: client.get(url).timeout(Duration::from_secs(5)). Ty se mapují na přepínače curl --max-time a --connect-timeout.

Jak používat proxy s reqwest?

Nastavte proxy v builderu klienta: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?. Podporuje HTTP, HTTPS a SOCKS5 proxy. reqwest také ve výchozím nastavení respektuje proměnné prostředí HTTP_PROXY a HTTPS_PROXY. curl2code převádí přepínače -x na konfiguraci proxy.

Jak odeslat POST požadavek s JSON tělem v Rustu?

Převeďte curl POST příkaz jako curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL do Rustu pomocí curl2code. Vygenerovaný kód používá client.post(url).json(&data).send().await?. curl2code automaticky detekuje -d/--data přepínače s JSON obsahem a nastaví odpovídající Content-Type hlavičku v kódu pro reqwest.

Jak přidat autorizaci pomocí Bearer tokenu v Rustu?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pro reqwest s autorizační hlavičkou: .bearer_auth("YOUR_TOKEN"). curl2code detekuje Bearer tokeny z přepínačů -H "Authorization: Bearer ..." i --oauth2-bearer. Pro Basic auth použijte -u user:pass.

Jak nastavit hlavičku Content-Type v Rustu?

curl2code převede curl -H "Content-Type: application/json" URL na kód pro reqwest se správnou hlavičkou: .header("Content-Type", "application/json"). Pro data u -d curl standardně používá application/x-www-form-urlencoded; pro nahrávání formulářů přes -F používá multipart/form-data. curl2code mapuje každý z nich na správné reqwest API.

Užitečné odkazy

Průvodci curl

Převést curl do jiných jazyků