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.4-py3-none-win_amd64.whl (3.8 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.4-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.4-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.4-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.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ae67a91e7a65736852092862b4ee36e2c18c954213f8615cd70408983924a2dd
MD5 40ba5ad1af46cc4b67f1e6ac07ac0356
BLAKE2b-256 ffb355bc1f251ce4c9ae274733a02bd0f98192a18d12e3dfecbbb1654759fb77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.4-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cd06d7b08c3778f902609518e5df8d55a559162297a2962c3cd6431f2ddefe9f
MD5 f7f4090e6693bc564bc8b7992f15293b
BLAKE2b-256 7da9a3cf10ac469400acd90d3b1234df17555faa9fc553c016520cc8918a2fd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.4-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 47e0c9a7eabf392428819b76828da678f8e0a4a9ea3b0c14231a461015e43217
MD5 a21fefb7e8d893dd84d900c9590f8e06
BLAKE2b-256 4906701f4957ac8cced42c98688d00843f85480e0653966529f4ff5aa4cf4dad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4fbc2b942a4ebb4739d49142e5c56149ad393e1baafa2e28c185fe1a403ccc0
MD5 69065bde4962bb2da266c10d095e638b
BLAKE2b-256 4895a0f64416a99a28e80382f78bcaf898edc81f3f9d142492df23512af1ad47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.4-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a49cd9b55242f707661ae84122c0290e23127bde3a9211c00680eb3900e19246
MD5 0ef33fac8e18c25a920fbb86de8cc442
BLAKE2b-256 8b55a00fb21fefc2ff6d5bebeb96f2ddce22e786cccb8b055d43e0f7ca986e86

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