Proksi orqali GET serverga yetib, so'ng qayta yo'naltirishlarga ergashishi mumkin, toki yakuniy muvaffaqiyatsizlik birinchi javobni yashirguncha. Diagnostika uchun o'sha boshlang'ich javobni ochib bering:

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

Bu so'rovni o'rgimchakning mavjud start yoki callback oqimi orqali rejalashtiring. Ruxsat etilgan ommaviy sahifa tekshiruvi uchun HTTP proksilar ro'yxati so'rovning proksi URL manzili uchun nomzodlar taqdim etadi. inspect_redirect javob holati va Location sarlavhasini qayd etishi kerak, uni yana ko'r-ko'rona kuzatmasdan.

dont_redirect bu so'rov uchun avtomatik qayta yo'naltirishni to'xtatadi. handle_httpstatus_list ko'rsatilgan holatlarning HTTP xatolarini filtrlash tomonidan rad etilmasdan callback ga yetishiga imkon beradi. Bu sozlamalar middleware ning turli mas'uliyatlariga tegishli.

Qayta yo'naltirish nimani tanlashini tekshiring: mo'ljallangan kanonik URL, boshqa sxema yoki xost nomi, kirish sahifasi yoki takrorlanuvchi sikl. Muvaffaqiyatli uzatishdan keyin olingan 302 proksi ulanishini ocha olmaslikdan boshqa kuzatuvdir.

Oddiy qayta yo'naltirishni qayta ishlash tiklanganida, Scrapy javobning so'rov metama'lumotlarida redirect_urls va redirect_reasons ni ochib beradi. Ular butun skanerlash davomida qayta yo'naltirishlarni o'chirilgan holda qoldirmasdan yakuniy natijaga yo'lni saqlab qolishi mumkin.

Yakuniy javob avtomatik ravishda ilova mo'ljallagan sahifa emas. Manzil va javob mazmunini marshrutlash diagnostikasi bilan birga saqlang.

O'xshash maqolalar