У меня SSL прокси-сервер, и я хочу удалить https сайт.Я имею в виду, что связь между scrapy и прокси зашифрована, и тогда прокси откроет соединение с сайтом.после некоторой отладки я обнаружил следующее: - в настоящее время scopy обрабатывает ситуацию следующим образом: -
если сайт http, он использует ScrapyProxyAgent, который отправляет клиенту привет, затем отправляет запрос на подключение к веб-сайту прокси
но если сайт https
, он использует TunnelingAgent, который не отправляет клиенту привет на прокси-сервер и, следовательно, соединение разрывается.
Мне нужно сначала сказать scrapyустановите соединение через ScrapyProxyAgent, затем используйте TunnelingAgent, не уверенный, как это сделать.
Я пытался создать https DOWNLOAD_HANDLERS, но я не такой эксперт
class MyHTTPDownloader(HTTP11DownloadHandler):
def download_request(self, request, spider):
"""Return a deferred for the HTTP download"""
timeout = request.meta.get('download_timeout') or self._connectTimeout
bindaddress = request.meta.get('bindaddress')
proxy = request.meta.get('proxy')
agent = ScrapyProxyAgent(reactor,proxyURI=to_bytes(proxy, encoding='ascii'),
connectTimeout=timeout, bindAddress=bindaddress, pool=self._pool)
_, _, proxyHost, proxyPort, proxyParams = _parse(proxy)
proxyHost = to_unicode(proxyHost)
url = urldefrag(request.url)[0]
method = to_bytes(request.method)
headers = TxHeaders(request.headers)
omitConnectTunnel = b'noconnect' in proxyParams
proxyConf = (proxyHost, proxyPort,
request.headers.get(b'Proxy-Authorization', None))
if request.body:
bodyproducer = _RequestBodyProducer(request.body)
if request.body:
bodyproducer = _RequestBodyProducer(request.body)
elif method == b'POST':
bodyproducer = _RequestBodyProducer(b'')
else:
bodyproducer = None
start_time = time()
tunnelingAgent = TunnelingAgent(reactor, proxyConf,
contextFactory=self._contextFactory, connectTimeout=timeout,
bindAddress=bindaddress, pool=self._pool)
agent.request(method, to_bytes(url, encoding='ascii'), headers, bodyproducer)
Мне нужно установитьтуннель после того, как прокси-агент подключен.это вообще возможно?
спасибо заранее