ප්‍රොක්සි 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 හෙළිදරව් කරයි. මේවා මුළු ක්‍රෝල් එක පුරාම නැවත යොමු අක්‍රීයව නොතබා අවසාන ප්‍රතිඵලයට යන මාර්ගය සුරකින්නට හැකිය.

අවසාන ප්‍රතිචාරය ස්වයංක්‍රීයව යෙදුම අපේක්ෂා කළ පිටුව නොවේ. ගමනාන්තය සහ ප්‍රතිචාරයේ අන්තර්ගතය මාර්ගගත කිරීමේ රෝග විනිශ්චය සමඟ තබා ගන්න.

අදාළ ලිපි