En proxy til én hentning i Scrapy shell
Brug en Requests proxy-metadata inde i Scrapy shell, og undersøg svaret fra den konfigurerede anmodning.
Inde i Scrapy shell bygger du den anmodning, som downloaderen skal udføre:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware læser proxyværdien fra den Requests metadata. Det skal være aktiveret i konfigurationen af den aktive downloader-middleware. Variablen response bagefter tilhører denne hentning. For denne offentlige URL vælges en HTTP-adresse uden godkendelse fra HTTP-proxylisten, hvis offentlige mellemled er tilladt, og derefter anbringes dens URL i den anmodnings proxy-metadata.
Start af shell fra Scrapy-projektet lader den indlæse projektets konfiguration. Det vælger middleware og andre indstillinger; det vælger ikke selv et bestemt proxy-endepunkt. Anmodningens metadata ovenfor leverer det valg direkte.
For en proxy med Basic-legitimationsoplysninger dokumenterer Scrapy brugeroplysninger i proxy-URL'en. Kod reserverede tegn i kontodelene, før den bygges. Det er ikke nødvendigt at tilføje en Authorization-header for webstedet til den konto.
Scrapy kan også finde proxyer fra sine understøttede miljøvariabler. En anmodnings eksplicitte proxy-metadata har forrang. For en bevidst direkte anmodning deaktiverer en proxyværdi på None den middlewares miljøbaserede valg for anmodningen.