Skip to main content

HTTP client that can impersonate web browsers, mimicking their headers and `TLS/JA3/JA4/HTTP2` fingerprints

Project description

Python >= 3.8 Downloads CI

Pyreqwest_impersonate

HTTP client that can impersonate web browsers, mimicking their headers and TLS/JA3/JA4/HTTP2 fingerprints.
Binding to the Rust reqwest_impersonate library.

Provides precompiled wheels:

  • Linux: amd64, aarch64.
  • Windows: amd64.
  • MacOS: amd64, aarch64.

Installation

pip install -U pyreqwest_impersonate

Usage

I. Client

A blocking HTTP client that can impersonate web browsers.

class Client:
    """Initializes a blocking HTTP client that can impersonate web browsers.
    
    Args:
        headers (dict, optional): headers to send with requests. If `impersonate` is set, this will be ignored.
        timeout (float, optional): HTTP request timeout in seconds. Default is 30.
        proxy (str, optional): Proxy URL for HTTP requests. Example: "socks5://127.0.0.1:9150". Default is None.
        impersonate (str, optional): Entity to impersonate. Example: "chrome_123". Default is None.
            Chrome: "chrome_99","chrome_100","chrome_101","chrome_104","chrome_105","chrome_106","chrome_108", 
                "chrome_107","chrome_109","chrome_114","chrome_116","chrome_117","chrome_118","chrome_119", 
                "chrome_120","chrome_123"
            Safari: "safari_12","safari_15_3","safari_15_5","safari_15_6_1","safari_16","safari_16_5","safari_17_2_1"
            OkHttp: "okhttp_3_9","okhttp_3_11","okhttp_3_13","okhttp_3_14","okhttp_4_9","okhttp_4_10","okhttp_5"
            Edge: "edge_99","edge_101","edge_120"
        redirects (int, optional): number of redirects. If set to 0|False, no redirects will be followed. Default is 10.
        verify (bool, optional): verify SSL certificates. Default is True.
        http1 (bool, optional): use only HTTP/1.1. Default is None.
        http2 (bool, optional): use only HTTP/2. Default is None.
    """

Example:

from pyreqwest_impersonate import Client

client = Client(impersonate="chrome_123")
resp = client.get("https://tls.peet.ws/api/all")
print(resp.text)
print(resp.status_code)
print(resp.url)
print(resp.headers)
print(resp.cookies)

II. AsyncClient

TODO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyreqwest_impersonate-0.1.2.tar.gz (19.6 kB view hashes)

Uploaded Source

Built Distributions

pyreqwest_impersonate-0.1.2-cp312-none-win_amd64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

pyreqwest_impersonate-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyreqwest_impersonate-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

pyreqwest_impersonate-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (2.7 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyreqwest_impersonate-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

pyreqwest_impersonate-0.1.2-cp311-none-win_amd64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

pyreqwest_impersonate-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyreqwest_impersonate-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pyreqwest_impersonate-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (2.7 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyreqwest_impersonate-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

pyreqwest_impersonate-0.1.2-cp310-none-win_amd64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyreqwest_impersonate-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyreqwest_impersonate-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pyreqwest_impersonate-0.1.2-cp310-cp310-macosx_11_0_arm64.whl (2.7 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyreqwest_impersonate-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

pyreqwest_impersonate-0.1.2-cp39-none-win_amd64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyreqwest_impersonate-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyreqwest_impersonate-0.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pyreqwest_impersonate-0.1.2-cp38-none-win_amd64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

pyreqwest_impersonate-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyreqwest_impersonate-0.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page