class ProxyMonitor(xbmc.Monitor): def __init__(self): xbmc.Monitor.__init__(self) self.proxy = None def start_proxy(self): if self.proxy is None: self.proxy = ProxyService(HTTP("127.0.0.1", PROXY_PORT)) self.proxy.start() def close_proxy(self): if self.proxy is not None: self.proxy.stop() self.proxy = None def onSettingsChanged(self): use_proxy = __settings__.getSetting("use_proxy") == "true" if use_proxy: self.start_proxy() else: self.close_proxy()
for proxy in proxy_list: proxy_str = 'http://%s:%d' % (proxy.ip, proxy.port) print proxy_str #如果没有被占用,推送到可用 if r.sismember(PROXY_REDIS_KEY_OCC, proxy_str) == False: r.sadd(PROXY_REDIS_KEY, proxy_str) logging.info("put proxy %s" % (proxy_str)) except: logging.error("proxy push error ") if __name__ == '__main__': host = 'localhost' #host='192.168.124.89' port = 9527 socket = TSocket.TSocket(host, port) transport = TTransport.TFramedTransport(socket) protocol = TCompactProtocol(transport) client = ProxyService.Client(protocol) transport.open() #proxy_list=client.getProxyList(ProxyQuery(maxNumber=3000)) proxy_list = client.getProxyList(ProxyQuery(maxNumber=300)) write_list(proxy_list) transport.close()
def start_proxy(self): if self.proxy is None: self.proxy = ProxyService(HTTP("127.0.0.1", PROXY_PORT)) self.proxy.start()