Tukar curl ke Rust
curl2code menukar arahan curl kepada kod Rust menggunakan crate reqwest. Penukaran ini berjalan dalam pelayar anda melalui WebAssembly untuk privasi lengkap. Untuk Go, lihat penukar curl ke Go kami. Untuk C, lihat curl ke C. Di bawah adalah contoh Rust praktikal dengan async/await.
Cara menyalin curl daripada pelayar anda
- 1
Buka DevTools
Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.
- 2
Pergi ke tab Network
Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.
- 3
Salin sebagai cURL
Klik kanan pada permintaan → Copy → Copy as cURL. Kemudian tampalkannya di atas.
Soalan Lazim
Apakah itu Rust reqwest?
reqwest ialah klien HTTP yang paling popular untuk Rust, dibina di atas hyper. Ia menyediakan kedua-dua API menyekat (blocking) dan asinkron, pensirian JSON automatik melalui serde, TLS, pengendalian kuki, dan sokongan proksi. Tambah dengan cargo add reqwest --features json. Ia adalah pustaka lalai yang digunakan curl2code untuk penukaran Rust.
reqwest vs hyper vs ureq — yang mana patut saya gunakan?
reqwest adalah pilihan utama untuk kebanyakan projek — tahap tinggi, kaya dengan ciri, dan asinkron. hyper adalah tahap lebih rendah dan memberikan kawalan maksimum (reqwest dibina di atasnya). ureq ialah klien minimal, hanya menyekat tanpa kebergantungan masa jalan asinkron. Untuk pendekatan pustaka standard yang serupa, lihat curl ke Go atau curl ke C.
Bagaimana cara mengendalikan pengesahan dalam Rust?
Untuk Bearer: client.get(url).bearer_auth(token). Untuk Basic: client.get(url).basic_auth(user, Some(pass)). Atau tetapkan pengepala secara manual dengan .header("Authorization", value). curl2code menukar bendera -u dan -H 'Authorization: ...' kepada kaedah reqwest yang sesuai.
Bagaimana cara menghantar data borang multipart dalam Rust?
Gunakan reqwest::multipart::Form: cipta dengan Form::new(), tambah medan teks dengan .text("key", "value"), dan fail dengan .file("field", path).await?. Hantar kepada client.post(url).multipart(form). curl2code mengendalikan bendera -F untuk multipart reqwest.
Bagaimana cara mengendalikan ralat HTTP dalam Rust?
reqwest mengembalikan Result yang membalut Response apabila berjaya atau reqwest::Error apabila gagal — gunakan operator ? untuk perambatan. Semak response.status().is_success() atau panggil response.error_for_status()? yang menukarkan kod bukan 2xx kepada ralat. Sistem jenis Rust memastikan semua laluan ralat dikendalikan secara eksplisit pada masa kompilasi.
Masa jalan asinkron manakah yang diperlukan oleh reqwest?
reqwest memerlukan masa jalan tokio secara lalai. Anotasikan main anda dengan #[tokio::main]. Untuk penggunaan menyekat tanpa masa jalan asinkron, dayakan ciri blocking dan gunakan reqwest::blocking::Client. curl2code menghasilkan kod asinkron dengan tokio secara lalai. Untuk ekosistem asinkron yang lain, lihat curl ke Go (goroutine).
Bagaimana cara menetapkan had masa tamat dalam Rust reqwest?
Tetapkan pada klien: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?. Bagi setiap permintaan: client.get(url).timeout(Duration::from_secs(5)). Ini dipetakan kepada bendera --max-time dan --connect-timeout pada curl.
Bagaimana cara menggunakan proksi dengan reqwest?
Tetapkan proksi pada pembina klien: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?. Menyokong proksi HTTP, HTTPS, dan SOCKS5. reqwest juga menghormati pembolehubah persekitaran HTTP_PROXY dan HTTPS_PROXY secara lalai. curl2code menukar bendera -x kepada konfigurasi proksi.
Bagaimana cara menghantar permintaan POST dengan badan JSON dalam Rust?
Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL ke Rust menggunakan curl2code. Kod yang dihasilkan menggunakan client.post(url).json(&data).send().await?. curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod reqwest.
Bagaimana cara menambah kebenaran token Bearer dalam Rust?
Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod reqwest dengan pengepala auth: .bearer_auth("YOUR_TOKEN"). curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.
Bagaimana cara menetapkan pengepala Content-Type dalam Rust?
curl2code menukar curl -H "Content-Type: application/json" URL kepada kod reqwest dengan pengepala yang betul: .header("Content-Type", "application/json"). Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API reqwest yang betul.