Egy proxyn keresztüli GET elérhet egy szervert, majd követheti az átirányításokat, míg a végső hiba el nem rejti az első választ. Tedd láthatóvá ezt a kezdeti választ a diagnosztikához:

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],
    },
)

Ütemezd ezt a kérést a pók meglévő indítási vagy callback folyamatán keresztül. Engedélyezett nyilvános oldal vizsgálatához a HTTP proxy lista jelölteket ad a kérés proxy URL-jéhez. Az inspect_redirectnek rögzítenie kell a válasz állapotát és a Location fejlécet, ahelyett hogy újra vakon követné.

A dont_redirect leállítja az automatikus átirányítást ehhez a kéréshez. A handle_httpstatus_list lehetővé teszi, hogy a megnevezett állapotok eljussanak a callbackhez, ahelyett hogy az HTTP-hiba szűrés elutasítaná őket. A beállítások a middleware különböző felelősségeit érintik.

Ellenőrizd, mit választ az átirányítás: szándékolt kanonikus URL-t, eltérő sémát vagy gazdanevet, bejelentkező oldalt vagy ismétlődő ciklust. A sikeres átvitel után kapott 302 más megfigyelés, mint a proxy kapcsolat megnyitásának kudarca.

Amikor a normál átirányításkezelés helyreáll, a Scrapy a válasz kérés-metaadataiban megjeleníti a redirect_urls és redirect_reasons mezőket. Ezek megőrizhetik a végeredményhez vezető utat anélkül, hogy az átirányítások a teljes bejárás alatt letiltva maradnának.

A végső válasz nem automatikusan az az oldal, amelyet az alkalmazás szánt. Őrizd meg az úti célt és a válasz tartalmát az útvonal-diagnosztikával együtt.

Kapcsolódó cikkek