Kayang ipakita ng Scrapy ang redirect bago ito sundan
Pansamantalang ilantad ang paunang katayuan ng redirect at Location ng GET sa pamamagitan ng proxy sa pamamagitan ng metadata ng kahilingan, habang pinaghihiwalay ang paghawak ng redirect sa pagsasala ng mga error sa HTTP.
Ang GET sa pamamagitan ng proxy ay makakaabot sa isang server at pagkatapos ay susunod sa mga redirect hanggang sa matakpan ng huling pagkabigo ang unang tugon. Ilantad ang paunang tugon na iyon para sa diagnosis:
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],
},
)
Iiskedyul ang kahilingang ito sa pamamagitan ng umiiral na start o callback na daloy ng spider. Para sa pinahihintulutang pagsubok ng pampublikong pahina, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa proxy URL ng kahilingan. dapat itala ng inspect_redirect ang katayuan ng tugon at ang Location header sa halip na bulag itong sundan muli.
Ang dont_redirect ay humihinto sa awtomatikong pag-redirect para sa kahilingang ito. Hinahayaan ng handle_httpstatus_list ang mga pinangalanang katayuan na maabot ang callback sa halip na tanggihan ng pagsasala ng error sa HTTP. Ang mga setting ay may kinalaman sa magkaibang responsibilidad ng middleware.
Suriin kung ano ang pinipili ng redirect: nilalayong canonical na URL, ibang scheme o hostname, pahina ng pag-login, o paulit-ulit na siklo. Ang 302 na natanggap pagkatapos ng matagumpay na transportasyon ay ibang obserbasyon kaysa sa nabigong buksan ang koneksyon sa proxy.
Kapag naibalik ang normal na paghawak ng redirect, inilalantad ng Scrapy ang redirect_urls at redirect_reasons sa metadata ng kahilingan ng tugon. Mapapanatili ng mga ito ang landas patungo sa huling resulta nang hindi iniiwan na naka-disable ang mga redirect sa buong crawl.
Ang huling tugon ay hindi awtomatikong ang pahinang nilayon ng aplikasyon. Panatilihin ang destinasyon at nilalaman ng tugon kasama ng diagnosis ng routing.