Scrapy kan vise omdirigeringa før han følgjer ho
Gjer mellombels den innleiande omdirigeringsstatusen og Location for ein proxyert GET synleg via førespurnadsmetadata, og hald handsaminga av omdirigeringar skild frå HTTP-feilfiltrering.
Ein proxyert GET kan nå ein tenar og deretter følgje omdirigeringar til den endelege feilen gøymer det første svaret. Gjer dette innleiande svaret synleg for diagnostikk:
request = scrapy.Request(
'https://service.example/page',
callback=inspect_redirect,
meta={
'proxy': 'http://proxy.example:8080',
'dont_redirect': True,
'handle_httpstatus_list': [301, 302, 303, 307, 308],
},
)
Planlegg denne førespurnaden gjennom den eksisterande start- eller callbackstraumen til edderkoppen. For ein tillaten test av ei open side leverer HTTP-proxylista kandidatar for proxy-URL-en til førespurnaden. inspect_redirect bør registrere svarstatusen og Location-headeren i staden for å følgje ho igjen i blinde.
dont_redirect stoppar automatisk omdirigering for denne førespurnaden. handle_httpstatus_list lèt dei namngjevne statusane nå callbacken i staden for å bli avviste av HTTP-feilfiltrering. Innstillingane gjeld ulike middleware-ansvar.
Kontroller kva omdirigeringa vel: ein tiltenkt kanonisk URL, eit anna scheme eller vertsnamn, ei innloggingsside eller ein gjenteken syklus. Ein 302 motteken etter vellukka transport er ei anna observasjon enn å mislukkast med å opne proxyforbindinga.
Når normal handsaming av omdirigeringar er gjenoppretta, viser Scrapy redirect_urls og redirect_reasons i førespurnadsmetadataen til svaret. Desse kan ta vare på vegen til eit endeleg resultat utan å la omdirigeringar vere deaktiverte under heile crawl.
Eit endeleg svar er ikkje automatisk sida applikasjonen hadde til hensikt. Hald destinasjonen og svarinnhaldet saman med rutingsdiagnosen.