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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.1.2-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.1.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: httpcloak-1.1.2-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.1.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6097f4e8565beb4c3eb0045fd30f9a5d4b8555ea3f7286d054c108c8c86bc60a
MD5 77511ac1a73c827f85409ea2db00d87a
BLAKE2b-256 e2ecf51869258e77ced3a561c4ee99e7d7fb6b49fadea31fa68f661babfe8228

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 86f3bf59e46c2f52fa80bcce2b209ee75452453340997eb920b91b6a4e137159
MD5 04c5f1746bc64a36ba933bf0d2323bd6
BLAKE2b-256 2b277ea77f5f80d2426b56bf97894b810faa905b11f44d8998c252455f1d58fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 4a18885a4502b1ba26b2d8bf5b82115108ecace8b02a58a3c077979966b6a015
MD5 fe96a5e96608bd61e8d57c4a6c073f03
BLAKE2b-256 3d2cbc4d977dc47d656a17d16459fd1eda2e5d105cd5af55061280b1a8218b7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 434ad7c27edfb5c890974bdf7814a3f46660db9be9d13cab36591bf6f74e8954
MD5 1a4b80db88f5094cd41ccd9ed6a22b51
BLAKE2b-256 4b446d222935a40719120d46b3949b1e8373da3d440c66c02f788fc9d9051d07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.2-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e17e7ce217834931a8259fde8c22bb5333adf5fc094f34d2fbe39bba1ee52ab0
MD5 93af36219a6defca8780a72385dc59af
BLAKE2b-256 be92f3bf54449e5992366fd4760b1d062acc9c7320de503ec2341a9ae3ccf6da

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