Skip to main content

Browser fingerprint emulation HTTP client with HTTP/1.1, HTTP/2, and HTTP/3 support

Project description

HTTPCloak Python

Browser fingerprint emulation HTTP client with HTTP/1.1, HTTP/2, and HTTP/3 support.

Installation

pip install httpcloak

Quick Start

Synchronous Usage

from httpcloak import Session

# Create a session with Chrome fingerprint
session = Session(preset="chrome-143")

# Make requests
response = session.get("https://www.cloudflare.com/cdn-cgi/trace")
print(response.status_code)
print(response.text)

# POST request
response = session.post("https://api.example.com/data", body={"key": "value"})

# Custom headers
response = session.get("https://example.com", headers={"X-Custom": "value"})

# With proxy
session = Session(preset="chrome-143", proxy="http://user:pass@host:port")

Asynchronous Usage

import asyncio
from httpcloak import Session

async def main():
    session = Session(preset="chrome-143")

    # Async GET
    response = await session.get_async("https://example.com")
    print(response.text)

    # Async POST
    response = await session.post_async("https://api.example.com/data", body={"key": "value"})

    # Multiple concurrent requests
    responses = await asyncio.gather(
        session.get_async("https://example.com/1"),
        session.get_async("https://example.com/2"),
        session.get_async("https://example.com/3"),
    )

asyncio.run(main())

Cookie Management

from httpcloak import Session

session = Session()

# Get all cookies
cookies = session.get_cookies()
print(cookies)

# Set a cookie
session.set_cookie("session_id", "abc123")

# Access cookies as property
print(session.cookies)

Available Presets

from httpcloak import available_presets

print(available_presets())
# ['chrome-143', 'chrome-143-windows', 'chrome-143-linux', 'chrome-143-macos',
#  'chrome-131', 'firefox-133', 'safari-18', ...]

Response Object

response = session.get("https://example.com")

response.status_code  # int: HTTP status code
response.headers      # dict: Response headers
response.body         # bytes: Raw response body
response.text         # str: Response body as text
response.final_url    # str: Final URL after redirects
response.protocol     # str: Protocol used (http/1.1, h2, h3)

Error Handling

from httpcloak import Session, HTTPCloakError

try:
    session = Session()
    response = session.get("https://example.com")
except HTTPCloakError as e:
    print(f"Request failed: {e}")

Context Manager

from httpcloak import Session

with Session(preset="chrome-143") as session:
    response = session.get("https://example.com")
    print(response.text)
# Session automatically closed

Platform Support

  • Linux (x64, arm64)
  • macOS (x64, arm64)
  • Windows (x64, arm64)

License

MIT

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

httpcloak-1.0.1-py3-none-win_amd64.whl (3.8 MB view details)

Uploaded Python 3Windows x86-64

httpcloak-1.0.1-py3-none-manylinux_2_17_x86_64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

httpcloak-1.0.1-py3-none-manylinux_2_17_aarch64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

httpcloak-1.0.1-py3-none-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.1-py3-none-macosx_10_9_x86_64.whl (3.7 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file httpcloak-1.0.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpcloak-1.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 254d818fc9e35d4838ad5f8815de12584cf919d3438d41b15001e870cf04eef7
MD5 9d48f6503afedd20cca27c9e833f468c
BLAKE2b-256 14c05fd6c29194e223685ef93050de5e248ef259862bd6f869139dc18039551b

See more details on using hashes here.

File details

Details for the file httpcloak-1.0.1-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for httpcloak-1.0.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f9d357bd2cb7898963e9087656585345f2144d2e30e9c4730702d7b0a26b4ec3
MD5 59a6cd56510adfb257a4df5ea76b93e8
BLAKE2b-256 b9a2895db0257164b08433ad8f6bdfa23fa48433811bdfa79d1a445a0686d2be

See more details on using hashes here.

File details

Details for the file httpcloak-1.0.1-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for httpcloak-1.0.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 743637ba8d367468bbe640440a6d438ca377770b815db3b78ec40f4c20a0721e
MD5 79bbc103aca5ad9cd7f65750fa9069a2
BLAKE2b-256 ee10c4faca237fc459cd056596965da7f25e387337161754d0077c83581bc48d

See more details on using hashes here.

File details

Details for the file httpcloak-1.0.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpcloak-1.0.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdba7f578434609c7812265a1400f08f7f37df67b86983a6a6595ce527cb597e
MD5 4925c1b8470d675e22471c52ed8ef146
BLAKE2b-256 8128932900348719e152d1728e8473a619e343ae4339ca60d92331c296de7044

See more details on using hashes here.

File details

Details for the file httpcloak-1.0.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for httpcloak-1.0.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fe7ab80eac22995cac962401e99c52e759624b744c3003b523cbf3aca5e6edf5
MD5 fa9edbc6f7689005be77c453fc34e09e
BLAKE2b-256 0f8b766a0cda97b8b5009dcd0d7f3b696a50aaec8df6442685248ae6cad87958

See more details on using hashes here.

Supported by

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