__init__.py 949 B

12345678910111213141516171819202122232425262728293031323334
  1. from .request import get_proxy_list, get_proxy_list_with_test
  2. proxy_list = []
  3. proxy_list_test = []
  4. proxy_index = 0
  5. async def get_proxy(url=None, best=False, with_test=False):
  6. """
  7. Get the proxy
  8. """
  9. global proxy_list, proxy_list_test, proxy_index
  10. if not proxy_list:
  11. proxy_list = get_proxy_list(3)
  12. if not proxy_list_test or with_test:
  13. proxy_list_test = await get_proxy_list_with_test(url or "https://www.baidu.com", proxy_list)
  14. if not proxy_list_test:
  15. return None
  16. if best:
  17. return proxy_list_test[0]
  18. else:
  19. proxy = proxy_list_test[proxy_index]
  20. proxy_index = (proxy_index + 1) % len(proxy_list_test)
  21. return proxy
  22. def get_proxy_next():
  23. """
  24. Get the next proxy
  25. """
  26. global proxy_list_test, proxy_index
  27. if not proxy_list_test:
  28. return None
  29. else:
  30. proxy = proxy_list_test[proxy_index]
  31. proxy_index = (proxy_index + 1) % len(proxy_list_test)
  32. return proxy