Scrapy kann d'Ëmleitung weisen, ier se verfollegt gëtt
Den initialen Ëmleitungsstatus an de Location-Header vun enger proxied GET-Anfro temporär iwwer Request-Metadaten opdecken, an d'Ëmleitungsbehandlung getrennt vun der HTTP-Feelerfilterung halen.
Eng proxied GET-Anfro kann e Server erreechen an duerno Ëmleitungen verfollegen, bis de schlussendleche Feeler déi éischt Äntwert verstoppt. Decken déi éischt Äntwert fir d'Diagnostik op:
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],
},
)
Plang dës Anfro iwwer de bestehenden Start- oder Callback-Floss vun der Spann. Fir eng erlaabte Kontroll vun enger ëffentlecher Säit liwwert déi HTTP-Proxy-Lëscht Kandidaten fir d'Proxy-URL vun der Anfro. inspect_redirect soll den Äntwertstatus an den Location-Header ophuelen, amplaz him nees blann ze verfollegen.
dont_redirect stoppt d'automatesch Ëmleitung fir dës Anfro. handle_httpstatus_list léisst déi genannte Statusse bis zum Callback kommen, amplaz vun der HTTP-Feelerfilterung verworf ze ginn. D'Astellungen betreffen ënnerschiddlech Middleware-Verantwortungen.
Kuckt, wat d'Ëmleitung auswielt: eng gewollt kanonesch URL, en anert Schema oder en aneren Hostnumm, eng Login-Säit oder en widderhuelende Zyklus. En 302, deen no engem erfollegräiche Transport kritt gëtt, ass eng aner Observatioun wéi et net fäerdeg bréngen, d'Proxy-Verbindung opzemaachen.
Wann déi normal Ëmleitungsbehandlung restauréiert ass, weist Scrapy redirect_urls an redirect_reasons an den Request-Metadaten vun der Äntwert. Déi kënnen de Wee zu engem Schlussresultat erhalen, ouni datt Ëmleitungen fir de ganzen Crawl ausgeschalt bleiwen.
Eng lescht Äntwert ass net automatesch déi Säit, déi d'Applikatioun gemengt huet. Halt d'Zil an den Äntwertinhalt bei der Routing-Diagnostik.