Brak X-ProxyMesh-IP w wywołaniu zwrotnym HTTPS w Scrapy nie dowodzi bezpośredniego routingu. Przy tunelowanym HTTPS ProxyMesh umieszcza nagłówki routingu w odpowiedzi CONNECT; późniejsza odpowiedź witryny jest wewnątrz TLS i nie zawiera automatycznie tych wcześniejszych metadanych.

Tam, gdzie nagłówek jest widoczny w wywołaniu zwrotnym, czytaj go warunkowo:

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'))

To jest wyjście zgłoszone przez dostawcę dla tej wymiany, a nie skonfigurowana nazwa hosta wejściowego.

Jeśli potrzebne są metadane tunelu, użyj zgodnej integracji programu obsługi, która udostępnia nagłówki CONNECT. ProxyMesh utrzymuje jedną właśnie w tym celu; sprawdź obsługiwaną wersję Scrapy i program obsługi pobierania. Parsowanie przez pająka nie może ujawnić nagłówków, których transport nigdy nie dostarczył.

Powiąż metadane z ich połączeniem. Ponowne użycie tunelu nie tworzy kolejnej odpowiedzi CONNECT dla każdej strony. Aby uzyskać niezależny adres źródłowy obserwowany przez cel, zbadaj połączenie przychodzące tego celu, zamiast traktować nagłówek dostawcy jako uniwersalny detektor IP.

Powiązane artykuły