Struct Client

pub struct Client { /* private fields */ }

A Client to make Requests with.

The Client has various configuration values to tweak, but the defaults are set to what is usually the most commonly desired value. To configure a Client, use Client::builder().

The Client holds a connection pool internally, so it is advised that you create one and reuse it.

Examples

use reqwest::blocking::Client;
#
# fn run() -> Result<(), reqwest::Error> {
let client = Client::new();
let resp = client.get("http://httpbin.org/").send()?;
#   drop(resp);
#   Ok(())
# }

Implementations

impl Client

fn new() -> Client

Constructs a new Client.

Panic

This method panics if TLS backend cannot be initialized, or the resolver cannot load the system configuration.

Use Client::builder() if you wish to handle the failure as an Error instead of panicking.

This method also panics if called from within an async runtime. See docs on [reqwest::blocking][crate::blocking] for details.

fn builder() -> ClientBuilder

Creates a ClientBuilder to configure a Client.

This is the same as ClientBuilder::new().

fn get<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a GET request to a URL.

Errors

This method fails whenever supplied Url cannot be parsed.

fn post<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a POST request to a URL.

Errors

This method fails whenever supplied Url cannot be parsed.

fn put<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a PUT request to a URL.

Errors

This method fails whenever supplied Url cannot be parsed.

fn patch<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a PATCH request to a URL.

Errors

This method fails whenever supplied Url cannot be parsed.

fn delete<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a DELETE request to a URL.

Errors

This method fails whenever supplied Url cannot be parsed.

fn head<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a HEAD request to a URL.

Errors

This method fails whenever supplied Url cannot be parsed.

fn request<U: IntoUrl>(&self, method: Method, url: U) -> RequestBuilder

Start building a Request with the Method and Url.

Returns a RequestBuilder, which will allow setting headers and request body before sending.

Errors

This method fails whenever supplied Url cannot be parsed.

fn execute(&self, request: Request) -> Result<Response>

Executes a Request.

A Request can be built manually with Request::new() or obtained from a RequestBuilder with RequestBuilder::build().

You should prefer to use the RequestBuilder and RequestBuilder::send().

Errors

This method fails if there was an error while sending request, or redirect limit was exhausted.

Trait Implementations

impl Clone for Client

fn clone(&self) -> Client

impl Debug for Client

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Default for Client

fn default() -> Self

Auto Trait Implementations

impl !RefUnwindSafe for Client

impl !UnwindSafe for Client

impl Freeze for Client

impl Send for Client

impl Sync for Client

impl Unpin for Client

impl UnsafeUnpin for Client

Blanket Implementations

impl<T> Any for Client where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Client where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Client where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Client where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Client

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for Client

impl<T> PolicyExt for Client where T: ?Sized,

fn and<P, B, E>(self, other: P) -> And<T, P>
where
    T: Sized + Policy<B, E>,
    P: Policy<B, E>,
fn or<P, B, E>(self, other: P) -> Or<T, P>
where
    T: Sized + Policy<B, E>,
    P: Policy<B, E>,

impl<T> ToOwned for Client where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T> WithSubscriber for Client

impl<T, U> Into<U> for Client where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for Client where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Client where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>