GET តាម proxy អាចឈានដល់ម៉ាស៊ីនមេ ហើយបន្ទាប់មកដើរតាមការបង្វែរ រហូតដល់ការបរាជ័យចុងក្រោយបាំងការឆ្លើយតបដំបូង។ បង្ហាញការឆ្លើយតបដំបូងនោះសម្រាប់ការធ្វើរោគវិនិច្ឆ័យ៖

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 ដែលមានស្រាប់របស់ spider។ សម្រាប់ការសាកល្បងទំព័រសាធារណៈដែលត្រូវបានអនុញ្ញាត បញ្ជី proxy HTTP ផ្ដល់បេក្ខជនសម្រាប់ URL proxy នៃសំណើ។ inspect_redirect គួរកត់ត្រាស្ថានភាពឆ្លើយតប និងក្បាល Location ជំនួសឱ្យការដើរតាមវាម្ដងទៀតដោយពិការភ្នែក។

dont_redirect បញ្ឈប់ការបង្វែរស្វ័យប្រវត្តិសម្រាប់សំណើនេះ។ handle_httpstatus_list អនុញ្ញាតឱ្យស្ថានភាពដែលបានកំណត់ឈ្មោះឈានដល់ callback ជំនួសឱ្យការត្រូវបានបដិសេធដោយការត្រងកំហុស HTTP។ ការកំណត់ទាំងនេះទាក់ទងនឹងការទទួលខុសត្រូវផ្សេងៗគ្នារបស់ middleware។

ពិនិត្យមើលថាតើការបង្វែរជ្រើសរើសអ្វី៖ URL canonical ដែលបានបម្រុងទុក គ្រោង ឬឈ្មោះ host ផ្សេង ទំព័រចូល ឬវដ្តដែលកើតឡើងម្ដងទៀត។ 302 ដែលទទួលបានបន្ទាប់ពីការផ្ទេរជោគជ័យគឺជាការសង្កេតខុសពីការបរាជ័យក្នុងការបើកការតភ្ជាប់ proxy។

នៅពេលការគ្រប់គ្រងការបង្វែរធម្មតាត្រូវបានស្ដារឡើងវិញ Scrapy បង្ហាញ redirect_urls និង redirect_reasons នៅក្នុង metadata សំណើរបស់ការឆ្លើយតប។ ពួកវាអាចរក្សាផ្លូវឆ្ពោះទៅលទ្ធផលចុងក្រោយ ដោយមិនទុកការបង្វែរឱ្យបិទសម្រាប់ការរាវរកទាំងមូល។

ការឆ្លើយតបចុងក្រោយមិនមែនជាទំព័រដែលកម្មវិធីបានបម្រុងទុកដោយស្វ័យប្រវត្តិទេ។ រក្សាគោលដៅ និងខ្លឹមសារឆ្លើយតបជាមួយការធ្វើរោគវិនិច្ឆ័យផ្លូវ។

អត្ថបទពាក់ព័ន្ធ