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

Uploaded Python 3Windows x86-64

httpcloak-1.5.1-py3-none-manylinux_2_17_x86_64.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

httpcloak-1.5.1-py3-none-manylinux_2_17_aarch64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

httpcloak-1.5.1-py3-none-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.5.1-py3-none-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file httpcloak-1.5.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.5.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.1 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.5.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c551f7926d669eee3053c755624506555b6c1f867609e3dbf8930301b23d7a36
MD5 ab96290ae59a5476abee54ff96253a93
BLAKE2b-256 2249dbd37ead12931574eb27ec482cfb42db81769c4a2223c38df3c5bf20ce65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.5.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 958c2b79a44c0bbe82d51d9a0aa070c08fd4c6746c66eea19ac6e6e3ef07f1d1
MD5 b1cfc56374586351ca85d563f3789ab5
BLAKE2b-256 5f5fa58292164ad41ea2b19c02bedf5902b54fa23a7033ad60cdf70c586433a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.5.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0d4e7f0c37f4a9fe88c1f7498d8cfb06c7ede0290336819e1e3df49deead452e
MD5 5b990344a7c3d754c84a10dc5452c4a9
BLAKE2b-256 2bda7730d61294d402f232594b15952d4f3a6f0449eddab76554793f7db6348d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.5.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cb9f16e20f223b74e7ee4085e53d9cb46800746e2f310e5ccb612f3c69fd62b
MD5 c50f066f691198442f30682d2841abb1
BLAKE2b-256 0405264fa37b7531487764132c5ab49c4fe8a6a2ecb14d19176b7d404162b8f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.5.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa46c6d8221c2e24793264addecc6f0d0651fff56bb3d8f13e3ed99695a7e77c
MD5 14320404d824057b8c035b59154163e3
BLAKE2b-256 2258bfe1d5d6b6b3bd0ad4aa65416af7b0a3c1c569485527f8b7982bacbe7f07

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