Struct ureq::Agent

source ·
pub struct Agent { /* private fields */ }
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()?;
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 PATCH 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

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
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.