diff --git a/stream.py b/stream.py index b3a41fd..6db7795 100755 --- a/stream.py +++ b/stream.py @@ -166,11 +166,19 @@ class MainHandler(tornado.web.RequestHandler): path = path.strip("/") src = providers[provider] + self.request.path proxy_list = None + new_proxy_list = None proxy_list_orig = proxies.get(provider) if isinstance(proxy_list_orig, list): proxy_list = proxy_list_orig.copy() + new_proxy_list = proxy_list_orig.copy() + if len(new_proxy_list) > 1: + first_proxy = new_proxy_list.pop() + new_proxy_list = [first_proxy] + new_proxy_list if isinstance(proxy_list, list): for proxy_temp in proxy_list: + if len(proxy_list) > 1: + first_proxy = new_proxy_list.pop(0) + new_proxy_list = new_proxy_list + [first_proxy] try: resp = requests.head(src, allow_redirects=True, proxies=proxy_temp.req, timeout=(0.3, 2.0)) if resp is not None: @@ -178,8 +186,7 @@ class MainHandler(tornado.web.RequestHandler): except Exception as e: print(e) else: - proxy_list.remove(proxy_temp) - proxies[provider] = [proxy_temp] + proxy_list + proxies[provider] = new_proxy_list proxy = proxy_temp break if proxy is not None: