aboutsummaryrefslogtreecommitdiff
path: root/examples/ureq-examples/src/bin/arti-ureq-simple-get-request.rs
blob: b4be2949060cf96adc3d1e60a8aaa1fc689b4172 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Make GET request over the Tor network using ureq.

const TEST_URL: &str = "https://check.torproject.org/api/ip";

fn main() {
    // Get the ureq agent.
    let ureq_agent = arti_ureq::default_agent().expect("Failed to create ureq agent.");

    // Make request.
    let request = ureq_agent.get(TEST_URL).call();

    let mut request = match request {
        Ok(request) => request,
        Err(err) => {
            eprintln!("Failed to make request: {err}");
            return;
        }
    };

    // Get response body.
    let response = request
        .body_mut()
        .read_to_string()
        .expect("Failed to read body.");

    // Will output if request was made using Tor.
    println!("Response: {response}");
}