En proxy for én henting i Scrapy shell
Bruk en Requests proxy-metadata inne i Scrapy shell, og undersøk svaret fra den konfigurerte forespørselen.
Inne i Scrapy shell bygger du forespørselen du vil at nedlasteren skal utføre:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware leser proxyverdien fra denne Requestens metadata. Den må være aktivert i konfigurasjonen til den aktive nedlaster-midwaren. Variabelen response etterpå tilhører denne hentingen. For denne offentlige URL-en velger du en HTTP-adresse uten autentisering fra HTTP-proxylisten hvis offentlige mellommenn er tillatt, og plasserer deretter URL-en i denne forespørselens proxy-metadata.
Å starte shell fra Scrapy-prosjektet lar den laste prosjektets konfigurasjon. Det velger middleware og andre innstillinger; det velger ikke selv et bestemt proxy-endepunkt. Forespørselsmetadataene ovenfor gir det valget direkte.
For en proxy som bruker Basic-legitimasjon, dokumenterer Scrapy brukerinformasjon i proxy-URL-en. Kod reserverte tegn i kontodelene før den bygges. Det er ikke nødvendig å legge til en Authorization-header for nettstedet for den kontoen.
Scrapy kan også oppdage proxyer fra sine støttede miljøvariabler. En forespørsels eksplisitte proxy-metadata har forrang. For en bevisst direkte forespørsel deaktiverer en proxyverdi på None den miljøbaserte valget til den midwaren for forespørselen.