Защо заглавката за изход на ProxyMesh може да липсва в Scrapy
ProxyMesh може да изпраща метаданни за маршрутизиране по CONNECT, преди Scrapy да получи криптирания отговор на сайта. Проверете етапа на отговора, който действително ги носи.
Липсващата X-ProxyMesh-IP в HTTPS callback на Scrapy не доказва директно маршрутизиране. При тунелиран HTTPS ProxyMesh поставя заглавките за маршрутизиране в отговора на CONNECT; по-късният отговор на сайта е в TLS и не включва автоматично тези по-ранни метаданни.
Където заглавката се показва в callback, четете я условно:
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'))
Това е изходът, отчетен от доставчика за тази размяна, а не конфигурираното име на входния хост.
Ако са нужни метаданни от тунела, използвайте съвместима интеграция на handler, която показва заглавките на CONNECT. ProxyMesh поддържа такава точно за тази цел; проверете поддържаната версия на Scrapy и download handler-а. Разборът от паяка не може да разкрие заглавки, които транспортът никога не е предоставил.
Свързвайте метаданните с тяхната връзка. Повторното използване на тунел не създава нов отговор на CONNECT за всяка страница. За независим адрес на източника, наблюдаван от дестинацията, прегледайте входящата връзка на тази дестинация, вместо да третирате заглавката на доставчика като универсален детектор на IP.