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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: httpcloak-1.0.7-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.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a92224d1d6c0bd4e3566e34add64068c37a4a20b659ea530228e1c7255db428b
MD5 b0c8749723f16cf87ad9c26563d281b4
BLAKE2b-256 7eb407c60f9941cee12595f46e8acbd0e678f4fc75b18b70ff3cae0cad34fda5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.7-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d4ceeb84b49b97f5c29969f26630883e5134aa28b043d8643f35fc5d33655351
MD5 1f4005b8a3c63dace69635078c274575
BLAKE2b-256 6ef43473c7eef2270f79be03220a8bec70f1c21a4a29d4410187cd8bb82a1876

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.7-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f43e540c9130f7a30cc5aba94e07b596ff858bdda49258681046e36da81e75ee
MD5 44493fced4a19af81dbdcd329a38877e
BLAKE2b-256 9dbaae275c13fc88e58c91412864a354ab1cb7b906694a51d4cacb8e9b55775b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c87085a41c32c93ead0eb8b0c3632fa9a70a1e636b250e7925db0684752b267c
MD5 fb3704d82fe76be0f28f93f75696b050
BLAKE2b-256 ab6a1ac4d03f6acebb449cfca51fafa2d2175dbb7a1351fbbe86e55d4aa33c36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.7-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0ac257c030dc318aa444b053e72eec7b06610c35a0e3a7ff0b2dc31cc0d39507
MD5 6cabe8c879f7acadf32e941b9032a1d9
BLAKE2b-256 1ee50fb529eb02abb22c27713309f142f16637f340cf66b873c6b436583ee3a5

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