Gall GET trwy brocsi gyrraedd gweinydd ac yna ddilyn ailgyfeiriadau nes bod y methiant terfynol yn cuddio'r ymateb cyntaf. Datgelwch yr ymateb cychwynnol hwnnw ar gyfer 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],
    },
)

Trefnwch y cais hwn drwy lif cychwyn neu callback presennol y pry cop. Ar gyfer prawf tudalen gyhoeddus a ganiateir, mae'r rhestr procsi HTTP yn darparu ymgeiswyr ar gyfer URL procsi'r cais. Dylai inspect_redirect gofnodi statws yr ymateb a'r pennawd Location yn lle ei ddilyn eto'n ddall.

Mae dont_redirect yn atal ailgyfeirio awtomatig ar gyfer y cais hwn. Mae handle_httpstatus_list yn gadael i'r statysau a enwir gyrraedd y callback yn lle cael eu gwrthod gan hidlo gwallau HTTP. Mae'r gosodiadau'n ymwneud â chyfrifoldebau middleware gwahanol.

Gwiriwch beth mae'r ailgyfeiriad yn ei ddewis: URL canonig a fwriadwyd, cynllun neu enw gwesteiwr gwahanol, tudalen mewngofnodi, neu gylch sy'n ailadrodd. Mae 302 a geir ar ôl cludo llwyddiannus yn arsylwi gwahanol i fethu ag agor y cysylltiad procsi.

Pan adferir trin ailgyfeiriadau arferol, mae Scrapy yn datgelu redirect_urls a redirect_reasons ym metadata cais yr ymateb. Gall y rhain gadw'r llwybr tuag at ganlyniad terfynol heb adael ailgyfeiriadau'n anabl ar gyfer y crwydro cyfan.

Nid yw ymateb terfynol yn awtomatig y dudalen a fwriadwyd gan y rhaglen. Cadwch y gyrchfan a chynnwys yr ymateb gyda diagnosis y llwybro.

Erthyglau cysylltiedig