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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: httpcloak-1.0.8-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.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6be9cbf57747bb2364eb53f9bb4637086793c675b7bf0ee7783ccf78c8dcf35a
MD5 5b6401ef197c8eb137637e06ef820778
BLAKE2b-256 1bce3a20071a25e8814df8bb2743dae8c5eb754bc7ab71e7ecfbb4ebc52093a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.8-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ac463d539431e849301257945d1871826aa384bd0fbd152b9104fee35f0959ad
MD5 bd379728444c10c1c05f1b0fc97828bc
BLAKE2b-256 141ec038a26c417986b5d8f43eff1765e205fd366e7a40807a7587f607f126bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.8-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 4fd01143f73e5f12f534a0aa840d8d623d59ccd1e557418e6492af9a6c908750
MD5 4212ddb764c25051b0dedeb8902a3a26
BLAKE2b-256 2b3569292a2f388be84d94aadf9e75f4129d00d00cef177b14b8071f106dcd25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 456205529c0191226b3e6f098e82653d7bf9199eb2c9cb3a6c877974a530c278
MD5 ce3a06abfed23aa31205209f4e51b0c2
BLAKE2b-256 da86c0ea8894f44eec7ca56d832f34cf6adf8fb1eb506cccb829a68a462748fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.0.8-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e7c1213bcb71a3dc4ad52aa3651ae828cda36802aa5b317c31b1ae9b9c99d3ff
MD5 74d6c7fdc1ce66df28d71da4bc668405
BLAKE2b-256 abf96b6741af3fa9977783c694162de5b66b64091223cb3e5ee8dde8d50269b1

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