def _get_agent(self, request, timeout): bindaddress = request.meta.get('bindaddress') or self._bindAddress proxy = request.meta.get('proxy') if proxy: _, _, proxyHost, proxyPort, proxyParams = _parse(proxy) scheme = _parse(request.url)[0] omitConnectTunnel = proxyParams.find('noconnect') >= 0 if scheme == 'https' and not omitConnectTunnel: proxyConf = (proxyHost, proxyPort, request.headers.get('Proxy-Authorization', None)) return self._TunnelingAgent( reactor, proxyConf, contextFactory=self._contextFactory, connectTimeout=timeout, bindAddress=bindaddress, pool=self._pool) else: endpoint = TCP4ClientEndpoint(reactor, proxyHost, proxyPort, timeout=timeout, bindAddress=bindaddress) return self._ProxyAgent(endpoint) return self._Agent(reactor, contextFactory=self._contextFactory, connectTimeout=timeout, bindAddress=bindaddress, pool=self._pool)
def _get_agent(self, request, timeout): bindAddress = request.meta.get('bindaddress') or self._bindAddress # this needs http_proxy environment variable or proxy middleware, # otherwise it will be none # proxy = request.meta.get('proxy') proxy = settings.get('SOCKSPROXY', '127.0.0.1:9050') logger.debug('downloader agent proxy: %s' % proxy) if proxy: _, _, proxyHost, proxyPort, proxyParams = _parse(proxy) _, _, host, port, proxyParams = _parse(request.url) proxyEndpoint = TCP4ClientEndpoint(reactor, proxyHost, proxyPort, timeout=timeout, bindAddress=bindAddress) newcirc = settings.get('NEWCIRC', False) if newcirc: username = hex(random.randint(0, 2**32)) password = hex(random.randint(0, 2**32)) agent = SOCKS5Agent( reactor, proxyEndpoint=proxyEndpoint, endpointArgs=dict(methods=dict(login=(username, password)))) else: agent = SOCKS5Agent(reactor, proxyEndpoint=proxyEndpoint) return agent return self._Agent(reactor, contextFactory=self._contextFactory, connectTimeout=timeout, bindAddress=bindAddress, pool=self._pool)
def _get_agent(self, request, timeout): bindaddress = request.meta.get('bindaddress') or self._bindAddress proxy = request.meta.get('proxy') if proxy: scheme, _, host, port, _ = _parse(proxy) endpoint = TCP4ClientEndpoint(reactor, host, port, timeout=timeout, bindAddress=bindaddress) return self._ProxyAgent(endpoint) return self._Agent(reactor, contextFactory=self._contextFactory, connectTimeout=timeout, bindAddress=bindaddress, pool=self._pool)
def _get_agent(self, request, timeout): bind_address = request.meta.get('bindaddress') or self._bindAddress proxy = os.environ.get("SOCKS_PROXY", request.meta.get('proxy')) _proxy_protocol, _proxy_hostport, proxy_host, proxy_port, _proxy_params = _parse( proxy) proxy_endpoint = TCP4ClientEndpoint(reactor, proxy_host, proxy_port, timeout=timeout, bindAddress=bind_address) agent = txtorcon_web.tor_agent(reactor, socks_endpoint=proxy_endpoint) return agent