Converti curl in Rust
curl2code converte i comandi curl in codice Rust utilizzando il crate reqwest. La conversione avviene nel tuo browser tramite WebAssembly per la massima privacy. Per Go, consulta il nostro convertitore da curl a Go. Per C, vedi da curl a C. Di seguito sono riportati esempi pratici in Rust con async/await.
Come copiare curl dal tuo browser
- 1
Apri DevTools
Premi F12 o Ctrl+Shift+I per aprire gli strumenti per sviluppatori del browser.
- 2
Vai alla scheda Network
Fai clic sulla scheda Network ed esegui l'azione che attiva la richiesta HTTP.
- 3
Copia come cURL
Fai clic con il tasto destro sulla richiesta → Copia → Copia come cURL. Quindi incollalo sopra.
Domande Frequenti
Cos'è Rust reqwest?
reqwest è il client HTTP più popolare per Rust, costruito sopra hyper. Fornisce API sia bloccanti che asincrone, serializzazione JSON automatica tramite serde, TLS, gestione dei cookie e supporto proxy. Aggiungilo con cargo add reqwest --features json. È la libreria predefinita utilizzata da curl2code per le conversioni Rust.
reqwest vs hyper vs ureq — quale dovrei usare?
reqwest è la scelta ideale per la maggior parte dei progetti — di alto livello, ricca di funzionalità e asincrona. hyper è di livello più basso e offre il massimo controllo (reqwest è costruita su di essa). ureq è un client minimale, solo bloccante, senza dipendenze da runtime asincroni. Per un approccio simile alla libreria standard, vedi da curl a Go o da curl a C.
Come gestire l'autenticazione in Rust?
Per Bearer: client.get(url).bearer_auth(token). Per Basic: client.get(url).basic_auth(user, Some(pass)). Oppure imposta gli header manualmente con .header("Authorization", value). curl2code converte i flag -u e -H 'Authorization: ...' nei metodi reqwest appropriati.
Come inviare dati form multipart in Rust?
Usa reqwest::multipart::Form: crea con Form::new(), aggiungi campi di testo con .text("key", "value") e file con .file("field", path).await?. Passa a client.post(url).multipart(form). curl2code gestisce i flag -F per il multipart di reqwest.
Come gestire gli errori HTTP in Rust?
reqwest restituisce Result che incapsula Response in caso di successo o reqwest::Error in caso di errore — usa l'operatore ? per la propagazione. Controlla response.status().is_success() o chiama response.error_for_status()? che converte i codici non 2xx in errori. Il sistema dei tipi di Rust garantisce che tutti i percorsi di errore siano gestiti esplicitamente a tempo di compilazione.
Di quale runtime asincrono ha bisogno reqwest?
reqwest richiede il runtime tokio per impostazione predefinita. Annota il tuo main con #[tokio::main]. Per l'uso bloccante senza un runtime asincrono, abilita la feature blocking e usa reqwest::blocking::Client. curl2code genera codice asincrono con tokio per impostazione predefinita. Per un altro ecosistema asincrono, vedi da curl a Go (goroutine).
Come impostare i timeout in Rust reqwest?
Imposta sul client: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?. Per singola richiesta: client.get(url).timeout(Duration::from_secs(5)). Questi mappano sui flag --max-time e --connect-timeout di curl.
Come usare un proxy con reqwest?
Imposta un proxy sul builder del client: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?. Supporta proxy HTTP, HTTPS e SOCKS5. reqwest rispetta anche le variabili d'ambiente HTTP_PROXY e HTTPS_PROXY per impostazione predefinita. curl2code converte i flag -x nella configurazione proxy.
Come inviare una richiesta POST con un corpo JSON in Rust?
Converti un comando curl POST come curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL in Rust usando curl2code. Il codice generato utilizza client.post(url).json(&data).send().await?. curl2code rileva automaticamente i flag -d/--data con contenuto JSON e imposta l'intestazione Content-Type appropriata nel codice reqwest.
Come aggiungere l''autorizzazione con Bearer token in Rust?
Passa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code e genererà il codice reqwest con l'intestazione di autenticazione: .bearer_auth("YOUR_TOKEN"). curl2code rileva i Bearer token sia dai flag -H "Authorization: Bearer ..." che --oauth2-bearer. Per la Basic auth, usa -u user:pass.
Come impostare l''intestazione Content-Type in Rust?
curl2code converte curl -H "Content-Type: application/json" URL in codice reqwest con l'intestazione corretta: .header("Content-Type", "application/json"). Per i dati -d, curl utilizza come predefinito application/x-www-form-urlencoded; per i caricamenti di moduli -F, utilizza multipart/form-data. curl2code mappa ciascuno alla corretta API di reqwest.