Skip to content

Repository files navigation

aiohttp-socks

CICoverage StatusPyPI versionversions

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.9
  • aiohttp >= 3.10.0
  • python-socks[asyncio] >= 2.4.3

Installation

pip install aiohttp_socks

Usage

Simple usage

importaiohttpfromaiohttp_socksimportProxyType, ProxyConnector, ChainProxyConnectorasyncdeffetch(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',# ])asyncwithaiohttp.ClientSession(connector=connector) assession:
asyncwithsession.get(url) asresponse:
returnawaitresponse.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.

About

Proxy (HTTP, SOCKS) connector for aiohttp

Topics

Resources

Stars

243 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages