有没有办法将aiohttp客户端与socks代理一起使用?

问题描述 投票:0回答:3

看起来

aiohttp.ProxyConnector
支持socks代理。有什么解决方法吗?如果有任何建议,我将不胜感激。

python aiohttp
3个回答
9
投票

你尝试过 aiosocks 吗?

import asyncio
import aiosocks
from aiosocks.connector import SocksConnector

conn = SocksConnector(proxy=aiosocks.Socks5Addr(PROXY_ADDRESS, PROXY_PORT), proxy_auth=None, remote_resolve=True)
session = aiohttp.ClientSession(connector=conn)
async with session.get('http://python.org') as resp:
    assert resp.status == 200

2
投票

aiosocks 不适用于较新版本的 aiohttp 3.+。 您可以使用aiosocksy来实现socks代理。

要检查 aiosocksy 是否正常工作,您可以查看以下代码示例https://stackoverflow.com/a/53657536/6735546


0
投票

正确答案不再有效。

从 aiosocks.connector 导入 ProxyConnector 而不是 SocksConnector

import aiohttp
import aiosocks
from aiosocks.connector import ProxyConnector

conn = ProxyConnector(remote_resolve=True)
async with aiohttp.ClientSession(connector=conn) as session:
    async with session.get("http://python.org", proxy=f"{PROXY_ADDRESS}:{PROXY_PORT}") as resp:
        assert resp.status == 200
© www.soinside.com 2019 - 2024. All rights reserved.