validators.py 713 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import requests
  2. validators = []
  3. def validator(func):
  4. validators.append(func)
  5. return func
  6. @validator
  7. def timeOutValidator(proxy):
  8. """
  9. 检测超时
  10. :param proxy:
  11. :return:
  12. """
  13. if isinstance(proxy, bytes):
  14. proxy = proxy.decode("utf8")
  15. proxies = {"http": "http://{proxy}".format(proxy=proxy)}
  16. try:
  17. r = requests.get('http://www.baidu.com', proxies=proxies, timeout=10, verify=False)
  18. if r.status_code == 200:
  19. return True
  20. except Exception as e:
  21. pass
  22. return False
  23. @validator
  24. def customValidator(proxy):
  25. """
  26. 自定义validator函数,校验代理是否可用
  27. :param proxy:
  28. :return:
  29. """
  30. return True