ಪ್ರಾಕ್ಸಿ ಮಾಡಿದ GET ಒಂದು ಸರ್ವರ್ ತಲುಪಿ ನಂತರ ಮರುನಿರ್ದೇಶನಗಳನ್ನು ಅನುಸರಿಸಬಹುದು, ಕೊನೆಯ ವೈಫಲ್ಯವು ಮೊದಲ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಮರೆಮಾಡುವವರೆಗೆ. ರೋಗನಿರ್ಣಯಕ್ಕಾಗಿ ಆ ಆರಂಭಿಕ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಬಹಿರಂಗಪಡಿಸಿ:

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

ಈ ವಿನಂತಿಯನ್ನು ಸ್ಪೈಡರ್‌ನ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ start ಅಥವಾ callback ಹರಿವಿನ ಮೂಲಕ ನಿಗದಿಪಡಿಸಿ. ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ-ಪುಟ ಪರೀಕ್ಷೆಗೆ, HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ವಿನಂತಿಯ ಪ್ರಾಕ್ಸಿ URL ಗಾಗಿ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. inspect_redirect ಪ್ರತಿಕ್ರಿಯೆಯ ಸ್ಥಿತಿ ಮತ್ತು Location ಹೆಡರ್ ಅನ್ನು ದಾಖಲಿಸಬೇಕು, ಅದನ್ನು ಮತ್ತೆ ಕುರುಡಾಗಿ ಅನುಸರಿಸುವ ಬದಲು.

dont_redirect ಈ ವಿನಂತಿಗೆ ಸ್ವಯಂಚಾಲಿತ ಮರುನಿರ್ದೇಶನವನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. handle_httpstatus_list ಹೆಸರಿಸಿದ ಸ್ಥಿತಿಗಳು HTTP-ದೋಷ ಫಿಲ್ಟರಿಂಗ್‌ನಿಂದ ತಿರಸ್ಕೃತವಾಗುವ ಬದಲು callback ತಲುಪಲು ಅನುಮತಿಸುತ್ತದೆ. ಈ ಸೆಟ್ಟಿಂಗ್‌ಗಳು middleware ನ ವಿಭಿನ್ನ ಜವಾಬ್ದಾರಿಗಳಿಗೆ ಸಂಬಂಧಿಸಿವೆ.

ಮರುನಿರ್ದೇಶನ ಏನನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ: ಉದ್ದೇಶಿತ ಕ್ಯಾನೊನಿಕಲ್ URL, ಬೇರೆ ಸ್ಕೀಮ್ ಅಥವಾ ಹೋಸ್ಟ್‌ಹೆಸರು, ಲಾಗಿನ್ ಪುಟ, ಅಥವಾ ಪುನರಾವರ್ತಿತ ಚಕ್ರ. ಯಶಸ್ವಿ ಸಾಗಣೆಯ ನಂತರ ಸ್ವೀಕರಿಸಿದ 302 ಪ್ರಾಕ್ಸಿ ಸಂಪರ್ಕವನ್ನು ತೆರೆಯಲು ವಿಫಲವಾದದ್ದಕ್ಕಿಂತ ವಿಭಿನ್ನ ಅವಲೋಕನವಾಗಿದೆ.

ಸಾಮಾನ್ಯ ಮರುನಿರ್ದೇಶನ ನಿರ್ವಹಣೆ ಮರುಸ್ಥಾಪಿಸಿದಾಗ, Scrapy ಪ್ರತಿಕ್ರಿಯೆಯ ವಿನಂತಿ ಮೆಟಾಡೇಟಾದಲ್ಲಿ redirect_urls ಮತ್ತು redirect_reasons ಅನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ. ಅವು ಇಡೀ ಕ್ರಾಲ್‌ನಲ್ಲಿ ಮರುನಿರ್ದೇಶನಗಳನ್ನು ನಿಷ್ಕ್ರಿಯವಾಗಿ ಬಿಡದೆ ಅಂತಿಮ ಫಲಿತಾಂಶದ ಕಡೆಗಿನ ಮಾರ್ಗವನ್ನು ಸಂರಕ್ಷಿಸಬಹುದು.

ಅಂತಿಮ ಪ್ರತಿಕ್ರಿಯೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಉದ್ದೇಶಿಸಿದ ಪುಟವಲ್ಲ. ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯ ವಿಷಯವನ್ನು ರೂಟಿಂಗ್ ರೋಗನಿರ್ಣಯದೊಂದಿಗೆ ಇರಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು