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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.6-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.6-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.6-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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a5b2d070390a67836c6ccd11a9ce9b96188321af46396855eb0a850526f89527
MD5 cf96273615eb79051dfc9695fc65a8f2
BLAKE2b-256 d91dec8448e0ad2c36bbef66e56ccb4f74e5aaa727c0a0308e7946e936755000

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.6-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 20d29b058ea1cc34414a1a72b0d77fe32822c48d3436c95447187a9c9b5e2dea
MD5 698795411bfc7c673c1ddf645546cba0
BLAKE2b-256 a8665f987e8656e10fbe5e3f82f7987128a64b390fb691ce8b6c2783fa27e3c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.6-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f9a22163901f1fbd684c2906e5cafb84207dcde1d881dbb051c313a9e03e97e9
MD5 d6d3b7f4c55dd418a330fa25315e9813
BLAKE2b-256 03e7917d165a373c2391dd4e25d5214734798d5b5bcb60ce3f6fbfbd3a1135d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1e1abda136f8bed6f0966c2d7f5cf20fc448d578db0ca87837dc09d2d7eb815
MD5 6dc8f1b1aca5224b261effe965428b58
BLAKE2b-256 99cbcc6a14ad2339e7a1db1194dd8043b2a7847d7c3838ba59bc2e544c337160

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.6-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 90b173ef1060624517b70703f65956262877882fcbd1a6c7ad99285ba8e7e704
MD5 dd2cc58f4567854f82cb011b5527bb2b
BLAKE2b-256 2eb7e5a477a2d59f679c03f884443521df361a7b997041761adddef128f8eda9

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