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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.2-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.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.2-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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 46f6446873be590c78ce3140741cf74c68d1b973c0420e2fc903641629fdbbe4
MD5 e4f7439ae57be4df9846e91d1c79e309
BLAKE2b-256 f8a4dcd7572cc2da4ca292d4814df265a10c8a10976b978db2a7fdf087336591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 51dd207ae3712864da7937f9ddca63b04c36c5b9347947d53da6c5828db8c4e5
MD5 5573ec04dfbc889828e5e95fb0e9067e
BLAKE2b-256 6c505d32c0fd603630cc4707286a64db21afecbe90cfec9783f3ebee055257e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 59fe8b54a96efb1125c083cbd179e37659444c80e5f2b2788eb1d798f10f2b27
MD5 c96895eb98cd11f1a3efa393999f25b8
BLAKE2b-256 3490d50a813c1d498c0a9b122a9d7559b24e40e85deebf6c41ce73d29b7fab1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b490b19d75a7bfd0d146f60db34d8e24cf247758db78b7508561a539980f6db
MD5 e0509bb0eab29799c8a0bc7f69ba585a
BLAKE2b-256 fab82c1e6d4f9311f8ff210f1d79e58d65d0bfa911a4d87cb2c41a4292853d35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.2-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 63241f50f27b00f7146d07b91fca4e3e873a8689ee6571143177c01df38d3e97
MD5 0de2e653139bfcb760943b549cf0253b
BLAKE2b-256 4afb11e972c36da057b293bca9e859a68e10bce65e81e095770c291686154230

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