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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: httpcloak-1.1.4-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.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e9c1108612b8eb09ee5bf2da79dc0e05cb522b1c3b0f57d8aba1191d0c9f8ba2
MD5 512dc8740096a4e4ad6e3521c97460a1
BLAKE2b-256 572d0ba969e9456b9ed9791878b1609d8b15f7d16ae7c304733e70e33409a15c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.4-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4aea8be1372110b72e36514c35ac9cf62fab29778efa53ca0266ddc6cdf663b3
MD5 370695585a67d10b1b3fd2adc800fab7
BLAKE2b-256 8b24e2a18652048872d2107249fcf574117b1681313da963b305c987020ba35f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.4-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 66846950ef2afc5e53e1048243545e96f384ad24ce5f69c5fb9ae810980933db
MD5 6ad720ac4c35d15266246ddb6205a171
BLAKE2b-256 14663ee61b8cff52a4b493399df405b36d3247e0394a18628566c2e1644b8d74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81a280bf2a5f8fda282011a2e0aac12c44956976a2cb79f24776f4421998737d
MD5 bf99bb4b11b22234befde5839d8af6c3
BLAKE2b-256 a3459df2ff0ddf3cb4cdda789924622bed5338a54cac8620dfe251241b4be1cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpcloak-1.1.4-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff95e1ea58edef06b77621a35ed81285d28d12186ea9a2d7def89007de396aa1
MD5 f3fcd77851831ac18989b1c4afa1dc99
BLAKE2b-256 213c7e2dd0e446871d7d1e3e1c1a0e74f3b23a745261c8c5a57178a15f279124

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