Struct ureq::Agent[][src]

pub struct Agent { /* fields omitted */ }
Expand description

Agents keep state between requests.

By default, no state, such as cookies, is kept between requests. But by creating an agent as entry point for the request, we can keep a state.

let mut agent = ureq::agent();

agent
    .post("http://example.com/login")
    .call()?;

let secret = agent
    .get("http://example.com/my-protected-page")
    .call()?
    .into_string()?;

  println!("Secret is: {}", secret);

Agent uses an inner Arc, so cloning an Agent results in an instance that shares the same underlying connection pool and other state.

Implementations

Creates an Agent with default settings.

Same as AgentBuilder::new().build().

Make a request with the HTTP verb as a parameter.

This allows making requests with verbs that don’t have a dedicated method.

If you’ve got an already-parsed Url, try request_url.

use ureq::Response;
let agent = ureq::agent();

let resp: Response = agent
    .request("OPTIONS", "http://example.com/")
    .call()?;

Make a request using an already-parsed Url.

This is useful if you’ve got a parsed Url from some other source, or if you want to parse the URL and then modify it before making the request. If you’d just like to pass a String or a &str, try request.

use {url::Url, ureq::Response};
let agent = ureq::agent();

let mut url: Url = "http://example.com/some-page".parse().unwrap();
url.set_path("/robots.txt");
let resp: Response = agent
    .request_url("GET", &url)
    .call()?;

Make a GET request from this agent.

Make a HEAD request from this agent.

Make a POST request from this agent.

Make a PUT request from this agent.

Make a DELETE request from this agent.

Read access to the cookie store.

Used to persist the cookies to an external writer.

use std::io::Write;
use std::fs::File;

let agent = ureq::agent();

// Cookies set by www.google.com are stored in agent.
agent.get("https://www.google.com/").call()?;

// Saves (persistent) cookies
let mut file = File::create("cookies.json")?;
agent.cookie_store().save_json(&mut file).unwrap();

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.