Skip to main content

Proxy connector for aiohttp

Project description

aiohttp-socks

CI Coverage Status PyPI version versions

The aiohttp-socks package provides a proxy connector for aiohttp. Supports SOCKS4(a), SOCKS5(h), HTTP (CONNECT) as well as Proxy chains. It uses python-socks for core proxy functionality.

Requirements

  • Python >= 3.8
  • aiohttp >= 3.10.0
  • python-socks[asyncio] >= 2.4.3

Installation

pip install aiohttp_socks

Usage

Simple usage

import aiohttp
from aiohttp_socks import ProxyType, ProxyConnector, ChainProxyConnector


async def fetch(url):
    connector = ProxyConnector.from_url('socks5://user:password@127.0.0.1:1080')
    
    ### or use ProxyConnector constructor
    # connector = ProxyConnector(
    #     proxy_type=ProxyType.SOCKS5,
    #     host='127.0.0.1',
    #     port=1080,
    #     username='user',
    #     password='password',
    #     rdns=True # default is True for socks5
    # )
    
    ### proxy chaining (since ver 0.3.3)
    # connector = ChainProxyConnector.from_urls([
    #     'socks5://user:password@127.0.0.1:1080',
    #     'socks4://127.0.0.1:1081',
    #     'http://user:password@127.0.0.1:3128',
    # ])
    async with aiohttp.ClientSession(connector=connector) as session:
        async with session.get(url) as response:
            return await response.text()

Why yet another SOCKS connector for aiohttp

Unlike aiosocksy, aiohttp_socks has only single point of integration with aiohttp. This makes it easier to maintain compatibility with new aiohttp versions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohttp_socks-0.11.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiohttp_socks-0.11.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file aiohttp_socks-0.11.0.tar.gz.

File metadata

  • Download URL: aiohttp_socks-0.11.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for aiohttp_socks-0.11.0.tar.gz
Algorithm Hash digest
SHA256 0afe51638527c79077e4bd6e57052c87c4824233d6e20bb061c53766421b10f0
MD5 2febde5df0e14fc02ab32068ccf280ff
BLAKE2b-256 1fcce5bbd54f76bd56291522251e47267b645dac76327b2657ade9545e30522c

See more details on using hashes here.

File details

Details for the file aiohttp_socks-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: aiohttp_socks-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for aiohttp_socks-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9aacce57c931b8fbf8f6d333cf3cafe4c35b971b35430309e167a35a8aab9ec1
MD5 89d8f29bd3c7e6928bbe80c08f0afba5
BLAKE2b-256 bf7d4b633d709b8901d59444d2e512b93e72fe62d2b492a040097c3f7ba017bb

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