Skip to main content

Module client

Module client 

Source
Expand description

Spectre Client - HTTP client with browser impersonation

This library provides an HTTP client that mimics real browser fingerprints for anti-bot detection evasion. It builds on spectreq::core to provide a full-featured HTTP client with caching, cookies, and more.

Re-exports§

pub use auth::extract_nonce;
pub use auth::extract_opaque;
pub use auth::extract_qop;
pub use auth::extract_realm;
pub use auth::AuthConfig;
pub use auth::BasicAuth;
pub use auth::BasicAuthCache;
pub use auth::BearerToken;
pub use auth::BearerTokenManager;
pub use auth::DigestAuth;
pub use auth::NtlmAuth;
pub use cache::Cache;
pub use client::Client;
pub use client::HttpResponse;
pub use client::HttpVersion;
pub use client::RedirectConfig;
pub use client::RequestTiming;
pub use client::RetryConfig;
pub use client::TimeoutConfig;
pub use compression::CompressionType;
pub use compression::Decompress;
pub use cookies::CookieJar;
pub use hooks::Hooks;
pub use hooks::RequestInfo;
pub use hooks::ResponseInfo;
pub use hooks::SharedHooks;
pub use http3::enable_http3;
pub use http3::supports_http3;
pub use metrics::metrics_reporting_task;
pub use metrics::MetricsCollector;
pub use metrics::MetricsPercentiles;
pub use metrics::MetricsStats;
pub use metrics::RequestMetrics;
pub use metrics::RequestTimer;
pub use middleware::CircuitBreaker;
pub use middleware::CircuitState;
pub use middleware::RateLimiter;
pub use middleware::RequestLogger;
pub use middleware::Middleware;
pub use middleware::MiddlewareChain;
pub use middleware::MiddlewareChainBuilder;
pub use middleware::MiddlewareContext;
pub use pinning::export_pins_to_json;
pub use pinning::generate_pin_from_cert;
pub use pinning::load_pins_from_json;
pub use pinning::CertPinner;
pub use pinning::PinError;
pub use pool::ConnectionPool;
pub use pool::PoolConfig;
pub use pool::PoolStats;
pub use pool::PooledConnection;
pub use rotation::ProxyRotator;
pub use rotation::ProxyStatus;
pub use rotation::RotationConfig;
pub use session::ProfileData;
pub use session::SerializedSession;
pub use session::SessionError;
pub use session::SessionManager;
pub use socks5::Socks5Config;
pub use socks5::Socks5Connector;
pub use socks5::Socks5DnsResolve;
pub use streaming::streaming_response_from_bytes;
pub use streaming::SliceReader;
pub use streaming::StreamingResponse;

Modules§

auth
Authentication helpers for Spectre client
cache
HTTP response caching
client
HTTP client with browser impersonation
compression
connector
cookies
HTTP cookie management
hooks
Request/response hooks for the Spectre client
http3
HTTP/3 (QUIC) support for Spectre client
metrics
Metrics collection for Spectre client
middleware
Middleware chain for Spectre client
pinning
Certificate pinning for TLS connections
pool
Connection pooling for Spectre client
rotation
Smart proxy rotation for Spectre client
session
Session persistence for Spectre client
socks5
SOCKS5 proxy support
streaming
Streaming downloads support for Spectre client