通过Tor多线程处理Python请求

时间:2019-04-27 15:43:40

标签: python proxy python-requests tor

下面的代码是我尝试通过tor进行python请求,这很好,但是我有兴趣向其中添加多线程。

所以我想同时执行大约10个不同的请求并处理它们的输出。最简单,最有效的方法是什么?

def onionrequest(url, onionid):
    onionid = onionid
    session = requests.session()
    session.proxies = {}
    session.proxies['http'] = 'socks5h://localhost:9050'
    session.proxies['https'] = 'socks5h://localhost:9050'
    #r = session.get('http://google.com')


    onionurlforrequest = "http://" + url

    try:
        r = session.get(onionurlforrequest, timeout=15)
    except:
        return None
    if r.status_code = 200:
        listofallonions.append(url)

1 个答案:

答案 0 :(得分:0)

有人告诉我,您不应该对HTTP请求进行多线程处理,并且不应该将this.form.value[field].push(value); 包与asyncio(这是python的异步框架)一起使用,因此,我建议使用以下包为此:requestsasyncioaiohttp

示例代码:

aiohttp_socks

一开始使用asyncio可能会有些令人生畏,因此您可能需要练习一段时间才能掌握它。

如果您想更深入地说明同步和异步之间的区别,请查看this问题。