| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import requests
- validators = []
- def validator(func):
- validators.append(func)
- return func
- @validator
- def timeOutValidator(proxy):
- """
- 检测超时
- :param proxy:
- :return:
- """
- if isinstance(proxy, bytes):
- proxy = proxy.decode('utf8')
- proxies = {"http": "http://{proxy}".format(proxy=proxy)}
- try:
- # 超过10秒的代理就不要了
- r = requests.get('http://httpbin.org/ip', proxies=proxies, timeout=10, verify=False)
- if r.status_code == 200 and r.json().get("origin"):
- # logger.info('%s is ok' % proxy)
- return True
- except Exception as e:
- # logger.error(str(e))
- return False
- @validator
- def customValidator(proxy):
- """
- 自定义validator函数,校验代理是否可用
- :param proxy:
- :return:
- """
- return True
|