aiohttp-proxy
SOCKS proxy connector for aiohttp. HTTP, HTTPS, SOCKS4(a) and SOCKS5(h) proxies are supported.
Requirements
- Python >= 3.5.3
- aiohttp >= 2.3.2 # including v3.x
Installation
pip install aiohttp_proxy
Usage
aiohttp usage:
import aiohttp
from aiohttp_proxy import ProxyConnector, ProxyType
async def fetch(url):
connector = ProxyConnector.from_url('http://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
# )
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_proxy import open_connection
async def fetch():
reader, writer = await open_connection(
socks_url='http://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 give aiohttp a new proxy support
First must declare, our code is based on aiohttp-socks, thank you very much for the hard work.
But in order to more flexible support for multiple proxy methods (not just SOCKS proxy), we decided to fork [aiohttp-socks] (https://github.com/romis2012/aiohttp-socks), which is currently based on it.
Combine with native aiohttp to provide HTTP/HTTPS proxy instead of writing troublesome discriminating code based on the type of proxy.
Metadata
Release files for aiohttp-proxy 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiohttp_proxy-0.1.2.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiohttp_proxy-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.2 kB
Release files / aiohttp_proxy-0.1.2.tar.gz
| Download URL | aiohttp_proxy-0.1.2.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4da16face2df486329f7eef36719da5c2ac7136e756574de06b428c5793b8090
|
|
BLAKE2b-256 checksum How to use checksums |
0393d7cc02c794a3febbbe7b0fd1b2c7cb31234b2556b9da7bee273c33ae0f6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
|
Release files / aiohttp_proxy-0.1.2-py3-none-any.whl
| Download URL | aiohttp_proxy-0.1.2-py3-none-any.whl |
|---|---|
| Size | 12.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b955ab883d30fd5452f6b226f0b416fc3905cc5e2b3f023b481e95664ef40667
|
|
BLAKE2b-256 checksum How to use checksums |
9701e97e1ca3b4ca031c54f3751a7f4b5829626c167846784202edafe2959781
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
|