Чаму загаловак выхаду ProxyMesh можа адсутнічаць у Scrapy
ProxyMesh можа перадаваць метаданыя маршрутызацыі ў CONNECT раней, чым Scrapy атрымае зашыфраваны адказ сайта. Праверце этап адказу, які сапраўды іх змяшчае.
Адсутнасць X-ProxyMesh-IP у HTTPS-зваротным выкліку Scrapy не даказвае прамога маршруту. Пры тунельным HTTPS ProxyMesh змяшчае загалоўкі маршрутызацыі ў адказе CONNECT; наступны адказ сайта знаходзіцца ўнутры TLS і аўтаматычна не ўключае гэтыя папярэднія метаданыя.
Там, дзе загаловак бачны ў зваротным выкліку, чытайце яго ўмоўна:
exit_ip = response.headers.get(b'X-ProxyMesh-IP')
if exit_ip is not None:
self.logger.info('Reported exit IP: %s', exit_ip.decode('ascii'))
Гэта выхад, пра які паведамляе пастаўшчык для гэтага абмену, а не наладжанае імя ўваходнага хаста.
Калі патрэбныя метаданыя тунеля, выкарыстоўвайце сумяшчальную інтэграцыю апрацоўшчыка, якая паказвае загалоўкі CONNECT. ProxyMesh падтрымлівае такую менавіта для гэтага; праверце падтрымліваемую версію Scrapy і апрацоўшчык загрузкі. Разбор павуком не можа выявіць загалоўкі, якіх транспарт ніколі не даваў.
Звязвайце метаданыя з іх злучэннем. Паўторнае выкарыстанне тунеля не стварае чарговага адказу CONNECT для кожнай старонкі. Каб атрымаць незалежны адрас крыніцы, які бачыць прызначэнне, агледзьце ўваходнае злучэнне гэтага прызначэння, а не разглядайце загаловак пастаўшчыка як універсальны выяўляльнік IP.