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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.9-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.9-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.9-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.9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 09b5b573792ffa446b797a2daf6f2b9023012b766612e6f0674dc0052e4666bb
MD5 3f0ba4e02e38a1443a82d673643b909b
BLAKE2b-256 6cc9a80b54df0095f69c64a55b331a653a144a56078ef6203331a5387fc73f94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.9-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0f48189f1e65f7bc918fb684c49fced219fdda8981b19333b887d8dcc7cc3a81
MD5 7762cdc7a0aacd5a7e4131ab3371f7f8
BLAKE2b-256 45181f42029c73a82d78d75d80619f4a4b03c78be57cbbce4cd2791bd1eb054b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.9-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 5be4cfd39bfb39af86d8c98ccf1d5445da761fef36175e51169e1f2f6eba2f49
MD5 b49841795a8725a3b9e320e564439187
BLAKE2b-256 3364c673d365e50a07bf629415e2a8d7b550b932c3436c94c25ccd7397c91a48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.9-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 752b14c1d3866be4832ad0fe62fdf77be62336a670a7b2996f9456dc56e85595
MD5 16d41dc24ec26cd52a9cc549a8686787
BLAKE2b-256 9873696390417c9abaaa01122e2a37e59c6da9cdc4700c4baa5f1118daffc319

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.9-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bae828409154ce155807e29352314d6e34103195140142e3fa86e686dcecac59
MD5 d38681ffdcfceb1595974cc058cdfcac
BLAKE2b-256 93c80edcf220c605118aa0ad268c53583603bcd01c4d98906ffcc6f87863891f

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