SOCKS proxy connector for aiohttp
Project description
aiohttp-socks
SOCKS proxy connector for aiohttp. SOCKS4(a) and SOCKS5 are supported.
Requirements
- Python >= 3.5.3
- aiohttp >= 2.3.2 # including v3.x
Installation
pip install aiohttp_socks
Usage
aiohttp usage:
import aiohttp
from aiohttp_socks import SocksConnector, SocksVer
async def fetch(url):
connector = SocksConnector.from_url('socks5://user:password@127.0.0.1:1080')
### or use SocksConnector constructor
# connector = SocksConnector(
# socks_ver=SocksVer.SOCKS5,
# host='127.0.0.1',
# port=1080,
# username='user',
# password='password',
# rdns=True
# )
async with aiohttp.ClientSession(connector=connector) as session:
async with session.get(url) as response:
return await response.text()
aiohttp-socks also provides open_connection
and create_connection
functions:
from aiohttp_socks import open_connection
async def fetch():
reader, writer = await open_connection(
socks_url='socks5://user:password@127.0.0.1:1080',
host='check-host.net',
port=80
)
request = (b"GET /ip HTTP/1.1\r\n"
b"Host: check-host.net\r\n"
b"Connection: close\r\n\r\n")
writer.write(request)
return await reader.read(-1)
Why yet another SOCKS connector for aiohttp
Unlike aiosocksy/aiosocks , aiohttp_socks has only single point of integration with aiohttp. This makes it easier to maintain compatibility with new aiohttp versions.
Project details
Release history Release notifications | RSS feed
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 Distribution
Close
Hashes for aiohttp_socks-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bcfde1bb0d394b0ff0d8c284de7459c38507bff1f7c144ac734a6de49f36a29 |
|
MD5 | 648d5abea8ed299a2ce4d2aeea1c4fd4 |
|
BLAKE2b-256 | f33cd0641035c2139bf802e0ca18e7412c95e86f70150aec02237f912b4abe24 |