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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.10-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.10-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.10-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.10-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9abc9371a1d16b881c744d04ad6f8aa452e06c5f57b1a40e407918009dd6d3a2
MD5 6256ac0cc04641f9e07802d4b0283091
BLAKE2b-256 590ed047771ed6e050e5cf8b7669d5346a489858d76d6c6b08977a62980f4274

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.10-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6433e86c8a0211e51db24b1589ff2597e8d88d6a4b55606ca796598e7d28ad30
MD5 93c89073bf8d8ac6f0a8f527399dd4a3
BLAKE2b-256 4d5603845c420bb7b33ef256636e37d8ac34e4b7ab9fb6b2944ec88366435341

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.10-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 482e6550278b3416b1be2a900926eb3e648e5213bc118b35e9be724f125c66fe
MD5 b3f2b95b36f918d9972aa3928d54382b
BLAKE2b-256 937248d0802f210ac7c94d6cac6d101a21eabc8461788d6db571bea5eadb1e41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.10-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b61c3f6a0f105ed46cc6fe1f4139260fec592a3f72e369ae5fa4ddc9a27bf30a
MD5 daa8f9fd9f2c8d96efd26d3f66e5da81
BLAKE2b-256 01b1ff1ee711caa51c133ac62591789ab46e0c81dc5da42e9010be0d84447e24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.10-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ccd02341de3b85101e9faf6ab45383c4292020008ea2d7c68f31a91b0d618b7e
MD5 13dc6d30ec0ca864eb19ca63e4d90742
BLAKE2b-256 e9cd6e3b7501d1e04b3abbd2f1567bf245fd706a853f37daf4fff7ecac7a70b7

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