curl to Rust Converter

Apne browser mein hi ek curl command ko Rust reqwest code mein turant convert karein. Command aapke device par hi rehta hai.

Aapka curl command locally aapke browser mein hi Rust mein convert hota hai aur kabhi upload nahi hota, lekin kisi bhi tool mein asli production tokens ya credentials paste karne se bachein.

curl ko JavaScript fetch mein bhi convert karein

cURL to Rust ke baare mein

cURL to Rust ek curl command leta hai jise aapne terminal, browser DevTools, ya API docs se copy kiya hai aur usse reqwest crate par based ek async Rust program mein rewrite karta hai. Ye -X, -H, -d, --data-raw, --json, -u, aur -G jaise flags padhta hai, sahi reqwest::Method choose karta hai, aur valid JSON bodies ke liye .json(...) ya form/raw payloads ke liye .body(...) select karta hai taaki request wahi ho jo curl actually bhejta. Ek -u/--user flag ko raw header ki jagah ek idiomatic .basic_auth(...) call mein convert kiya jata hai. Ye tab kaam aata hai jab aap ek quick API test ko Rust service, CLI tool, ya integration test mein port kar rahe hote hain bina reqwest ka boilerplate haath se likhe. Poora conversion aapke browser mein hi hota hai, isliye curl command aur usme mojood koi bhi token locally aapke device par process hote hain aur kabhi upload nahi hote.

Features

cURL to Rust kaise use karein

  1. Apna curl command cURL command box mein paste karein.
  2. Output panel mein generate hua Rust reqwest program padhein.
  3. Warning banner check karein agar koi flag adjust ya skip hui ho.
  4. Copy par click karein, ya code ko request.rs ke roop mein download karein.

Example

Input

curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada"}'

Output

use reqwest::header::{HeaderMap, HeaderName, HeaderValue};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = reqwest::Client::new();

    let mut headers = HeaderMap::new();
    headers.insert(HeaderName::from_bytes(b"Content-Type")?, HeaderValue::from_str("application/json")?);

    let response = client
        .request(reqwest::Method::POST, "https://api.example.com/users")
        .headers(headers)
        .json(&serde_json::json!({
            "name": "Ada"
        }))
        .send()
        .await?;

    println!("{}", response.status());
    let body = response.text().await?;
    println!("{}", body);

    Ok(())
}

Ek JSON body ko .json(...) ke saath pass kiya jata hai taaki reqwest usse aapke liye serialize kar de.

Common errors aur troubleshooting

Aksar pooche jaane wale sawaal

Main curl command ko Rust mein kaise convert karu?
curl command ko input box mein paste karein aur cURL to Rust right side par ek async reqwest program render karega jise aap copy ya request.rs ke roop mein download kar sakte hain.
Kya cURL to Rust reqwest ya kisi aur HTTP client ke liye code banata hai?
Ye popular reqwest crate ko async runtime ke roop mein tokio ke saath target karta hai aur #[tokio::main] use karke ek async fn main() emit karta hai. Code run karne se pehle dono crates apne Cargo.toml mein add karein.
Converter kab .json(...) aur kab .body(...) use karta hai?
Jab body valid JSON ho (--json ya JSON Content-Type ke saath bheji gayi ho) to ye .json(&serde_json::json!(...)) use karta hai, aur form-encoded ya raw string bodies ke liye .body(...).
Rust output mein curl -u basic auth value kaise handle hoti hai?
Ek -u ya --user value ko request builder par .basic_auth(username, Some(password)) ke roop mein represent kiya jata hai, na ki haath se banayi gayi Authorization header ke roop mein.
Kya mera curl command Rust mein convert karte waqt upload hota hai?
Nahi. curl to Rust conversion poori tarah aapke browser mein hi hota hai, isliye command aur usme mojood koi bhi credential aapke device par hi rehta hai.
Generated reqwest code kaunse crates par depend karta hai?
Output ko dependencies ke roop mein reqwest (json feature ke saath), serde_json, aur tokio (full feature ke saath) chahiye; compile karne se pehle inhe cargo add se add kar lein.

Related tools

Saare ArrayKit tools