Scrapy jista' juri r-ridirezzjoni qabel ma jimxi magħha
Uri temporanjament l-istat tar-ridirezzjoni inizjali u l-Location ta' GET permezz ta' proxy fil-metadata tat-talba, filwaqt li żżomm l-immaniġġjar tar-ridirezzjonijiet separat mill-iffiltrar tal-iżbalji HTTP.
GET permezz ta' proxy jista' jasal għal server u mbagħad isegwi r-ridirezzjonijiet sakemm il-falliment finali jaħbi l-ewwel risposta. Uri dik ir-risposta inizjali għad-dijanjosi:
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],
},
)
Ippjana din it-talba permezz tal-fluss tal-bidu jew callback eżistenti tal-brimba. Għal test permess ta' paġna pubblika, il-lista tal-proxy HTTP tipprovdi kandidati għall-URL tal-proxy tat-talba. inspect_redirect għandu jirreġistra l-istat tar-risposta u l-intestatura Location minflok ma jerġa' jimxi magħha b'mod għama.
dont_redirect iwaqqaf ir-ridirezzjoni awtomatika għal din it-talba. handle_httpstatus_list iħalli l-istati msemmija jaslu għall-callback minflok ma jiġu miċħuda mill-iffiltrar tal-iżbalji HTTP. Dawn is-settings jikkonċernaw responsabbiltajiet differenti tal-middleware.
Iċċekkja x'jagħżel ir-ridirezzjoni: URL kanoniku maħsub, skema jew isem tal-host differenti, paġna tal-login, jew ċiklu li jirrepeti. 302 li jasal wara trasport b'suċċess hija osservazzjoni differenti minn nuqqas ta' ftuħ tal-konnessjoni tal-proxy.
Meta l-immaniġġjar normali tar-ridirezzjonijiet jerġa' jiġi stabbilit, Scrapy juri redirect_urls u redirect_reasons fil-metadata tat-talba tar-risposta. Dawn jistgħu jippreservaw it-triq lejn riżultat finali mingħajr ma jħallu r-ridirezzjonijiet diżattivati matul il-crawl kollu.
Risposta finali mhijiex awtomatikament il-paġna li l-applikazzjoni kellha f'moħħha. Żomm id-destinazzjoni u l-kontenut tar-risposta mad-dijanjosi tar-rotta.