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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.0.0-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.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.0.0-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.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2f28e395c40af0aa2b5e02a119f480a942a624bd1ccf2c4521f742b7f7fb0f07
MD5 d67f007cfa5e24adf8cf2de52761dc63
BLAKE2b-256 160f1c971a9d996140b687146a07279d6850bf744af92fe6816b7550b151fc14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4950ea242bdd17d39b4f90e2b2e74baa3fe714fd115976b8a5986b0f9cbeec59
MD5 63a33753b405bd564b7eeb26aef4569b
BLAKE2b-256 22a02dbbb1c494d722934d3e032639cc17e083c6c61c37437dc7b0d5b16736cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 e76e582c9fc50db6d918e1f7e8faf2cceba08ced7e41bad47b6eef6529bbb816
MD5 2fa6171390effe240d435442232daa58
BLAKE2b-256 10843d9e84d1bf5857ae58f105d12054d275f6a4d5beb110030d315dd6e9ec54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96bfeff554962cae782d5ace7b6b5ece64f619bb44b69e32caab664128088f28
MD5 4c8b165e4edf73c6c1502bb1f1514caf
BLAKE2b-256 f2ac210dfeab86e0542f771d02673c2463e72570c145b3ec00ec0cb0dc425e56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba9beecdd57e82b50a7730e7d0e6eacc554a5ece251f8a10ee3ab3948534b6f9
MD5 cb4052099b93f1c8cf063353bb5c0eb8
BLAKE2b-256 a770bf26fa6e7aeb16d5071fe9ea3bd098fb692b12f8efd5401c6b9c2ec76a59

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