Scrapy's HTTP-proxymiddleware leest een proxy uit de verzoekmetadata:

yield scrapy.Request(
    'https://example.com/',
    callback=self.parse,
    meta={'proxy': 'http://203.0.113.10:8080'},
)

Vervang het documentatie-eindpunt en houd de middleware ingeschakeld. De HTTP-proxylijst biedt openbare kandidaten voor de URL van dit verzoek. Dit selecteert de route van het verzoek; een proxypool heeft aparte selectielogica nodig.

Authenticatie volgt het geselecteerde eindpunt

De ingebouwde middleware verwerkt inloggegevens die worden geleverd via de ondersteunde proxy-URL en de bijbehorende autorisatieheader. Escape gereserveerde URL-tekens en vermijd het loggen van die URL.

Een aparte middleware mag na een wijziging van het eindpunt geen Basic-header voor de vorige proxy behouden. Laat één laag de route en de bijbehorende inloggegevens samen beheren.

Selectievolgorde en standaardwaarden

Als aangepaste downloadermiddleware de proxy kiest, voer deze dan uit voordat de ingebouwde proxymiddleware het verzoek verwerkt. Controleer de volgorde en API van de geïnstalleerde release; verouderde scrapy.contrib-imports horen bij oudere releases.

De procesomgeving kan ook schema-specifieke standaardwaarden leveren. Gebruik voor een bewust direct verzoek het gedocumenteerde speciale gedrag van de proxy-metadata: een ontbrekende sleutel betekent niet noodzakelijk directe toegang.

Inspecteer het werkelijke resultaat. Een 407 gaat over proxyauthenticatie, terwijl een snelheidslimiet of toegangsweigering van een website kan komen nadat de route correct heeft gewerkt.

Gerelateerde artikelen