Avatar ·

Rust में HTTP अनुरोध कैसे करें?

सभी को नमस्कार! मैंने Rust सीखना शुरू किया और HTTP अनुरोध करने के कार्य का सामना किया। बाहरी API को GET अनुरोध भेजना और JSON प्रतिक्रिया प्राप्त करना आवश्यक है। मैंने मानक लाइब्रेरी का उपयोग करने की कोशिश की, लेकिन जैसा कि मैंने समझा, इसमें कोई अंतर्निहित HTTP क्लाइंट नहीं है।

मैंने कुछ इस तरह लिखने की कोशिश की:

use std::io::Read;

fn main() {
    let mut response = reqwest::blocking::get("https://api.example.com/data").unwrap();
    let mut body = String::new();
    response.read_to_string(&mut body).unwrap();
    println!("{}", body);
}

लेकिन मुझे त्रुटि मिलती है: error[E0432]: unresolved import 'reqwest'। जाहिर है, Cargo.toml में निर्भरता जोड़ने की आवश्यकता है। reqwest crate को सही तरीके से कैसे जोड़ें? क्या विकल्प मौजूद हैं? मुझे async संस्करण (tokio + reqwest) और blocking (सरल) दोनों में रुचि है।

मुझे त्रुटि प्रबंधन के साथ एक काम करने वाला उदाहरण चाहिए, ताकि असफल अनुरोध पर कोड panic न करे। अधिमानतः serde_json के माध्यम से JSON पार्सिंग के साथ। पहले से धन्यवाद।