我正在尝试为python请求设置代理。我正在使用trio包来异步运行请求,所以我的代理服务器有一系列的dicts。
例如:
import trio
import requests
proxies = {'https': 'http://159.224.176.205:53281'}, {'https': 'http://61.97.130.196:31588'}, {'https': 'http://190.216.7.3:8181'}, {'https': 'http://159.65.9.66:3128'}, {'https': 'http://94.130.14.146:31288'}
async def run(task):
s = requests.Session()
ip = s.get('https://www.iplocation.net', proxies=proxies[task], headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'})
print("{} {}".format(task, ip.text))
async def parent():
async with trio.open_nursery() as nursery:
for x in range(5):
nursery.start_soon(run, x)
if __name__ == "__main__":
trio.run(parent)
我的问题是,即使其中一个代理很糟糕,python请求也会运行,所以我不确定它是怎么回事。
有人可以帮助我在代理失败时提出异常,而不是仅仅在没有代理的情况下继续吗?
感谢。