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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

httpcloak-1.1.1-py3-none-macosx_10_9_x86_64.whl (4.0 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: httpcloak-1.1.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.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b3ad7b995bed3d97a31a8a8d6351c4c8869d70d3d4dbfe90b6763114ca953bf2
MD5 a031481bb524cae189cf2db4e9cae316
BLAKE2b-256 0d194e107d291c00c36b9891c111e212de030a1b18a11851866058a27eedbb2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 606ac83eb9e21e6d984463c5da3a00666e3d85c513d1804f85595ab4dd85b57c
MD5 dd355febf2c57172586f303d95bb6b04
BLAKE2b-256 127375d1dcb9eb28cabf6557b378227b2a15af93dabb433b437e5ec2dadcb2bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 1e54f9d303a1b6cda14999426589c79466642a90359f2880837691539e5fe6ff
MD5 0082c0fc303c909f1f2f49542c0bd580
BLAKE2b-256 3db4bde200f735e795228f0ae0f09a2243a75396c9ffd1a8686f5c2e9f9ac539

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0e17eb548bfd85d32acee42acb88bf5830ffb3cf73426d24e7b8bd143798cff
MD5 66bbddc6a5b4f58ff1c4d2e800d71426
BLAKE2b-256 6808956568bc9f393a41205d14d65ee4c4e2cc9520207df911ce69a8d24b009e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 82b0964b11da53c57f023a0b68d8859bd147f05ea358abc85f8f8de589f6bebc
MD5 609953356b91af44c54d215022df2239
BLAKE2b-256 6013f7bb6687c5c8a73896b4d3e7def1b1cadfb4a3b4b4a9e9012150963d324f

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