示例#1
0
class VerifyProxy(object):
	def __init__(self): 
		self.mysql = MysqlClient()

	def verify_proxy(self, scheme, ip, port):
		""" 使用百度测试代理的连通性,并返回响应时长(单位:ms) :param scheme: :param ip: :param port: :return: """
		proxies = { scheme: scheme + '://' + ip + ':' + port + '/' }
		response_time = 0
		status = '0'
		try:
			response = requests.get(scheme + '://www.baidu.com/get', proxies=proxies, headers = header)
			if response:
				response_time = round(response.elapsed.total_seconds() * 1000)
				status = '1'
				print(status)
			else:
				response_time = 0
				status = '0'
		except:
			pass
		return ({'response_time':response_time,'status':status})

	def verify_all(self):
		""" 验证住方法,从数据库中获取所有代理进行验证 :return: """ 
		results = self.mysql.find_all() 
		for result in results: 
			res = self.verify_proxy(result[1], result[2], result[3])
			proxy = { "id": result[0], "scheme": result[1], "ip": result[2], "port": result[3], "status": res["status"], "response_time": res["response_time"], } 
			self.mysql.update_proxy(proxy) 
			print('代理验证成功')
示例#2
0
class VerifyProxy(object):
    def __init__(self):
        self.mysql = MysqlClient()
    def verify_proxy(self,scheme,ip,port,Anonymous_degrees):
        proxies = {
            scheme : scheme + '://' + ip + ':' + port
        }
        response_time = 0
        status = '0'
        try:
            response = requests.get(scheme + '://httpbin.org/ip',proxies=proxies,timeout=5)
            if response.status_code==200:
                response_time = round(response.elapsed.total_seconds()*1000)
                status = '1'
                print(f'{proxies}能使用!')
            else:
                response_time = 0
                status = '0'
                print(f'{proxies}不能使用!')
        except:
            pass 
        return {"response_time":response_time,"status":status}
    def verify_all(self):
        results = self.mysql.find_all()
        for result in results:
            res = self.verify_proxy(result[1],result[2],result[3],result[4])
            proxy = {
                "id":result[0],
                "scheme":result[1],
                "ip":result[2],
                "port":result[3],
                "Anonymous_degrees":result[4],
                "status":res["status"],
                "response_time":res["response_time"]
            }
        self.mysql.update_proxy(proxy)
        print('检查完毕..')