下面的代码是我尝试通过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)
答案 0 :(得分:0)
有人告诉我,您不应该对HTTP请求进行多线程处理,并且不应该将this.form.value[field].push(value);
包与asyncio(这是python的异步框架)一起使用,因此,我建议使用以下包为此:requests
,asyncio
,aiohttp
示例代码:
aiohttp_socks
一开始使用asyncio可能会有些令人生畏,因此您可能需要练习一段时间才能掌握它。
如果您想更深入地说明同步和异步之间的区别,请查看this问题。