არჩეული მარშრუტის შესამოწმებლად გამოიყენეთ დასრულებულ პასუხზე მიმაგრებული Request. სამი დაკვირვება ცალ-ცალკე შეინახეთ:

ველიმნიშვნელობა
response.request.meta.get('proxy')ამ მოთხოვნის არჩეული პროქსის URL, როცა არსებობს
response.ip_addressჩამოტვირთვის დამმუშავებლის მიერ მოწოდებული მისამართი, შესაძლოა None
სანდო დანიშნულების წყაროს ანგარიშიიქ დაფიქსირებული საჯარო წყარო

Callback-ის შიგნით, გამოტოვეთ სერტიფიკატების მქონე URL ნაწილები ჩვეულებრივი დიაგნოსტიკიდან:

from urllib.parse import urlsplit

proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
    'target_host=%s proxy_host=%s peer_ip=%s',
    urlsplit(response.url).hostname, proxy_host, response.ip_address,
)

Scrapy 2.13.3-ის HTTP/1.1 დამმუშავებელში მისამართი მოდის პასუხის კავშირის თანაწვეტისგან და არა გასვლითი IP სერვისისგან. ზოგიერთმა გზამ, მათ შორის ნულოვანი სიგრძის პასუხებმა, შეიძლება ის None დატოვოს. სხვა დამმუშავებლებმა შეიძლება ის სხვაგვარად შეავსონ. None თავისთავად არ ამტკიცებს პირდაპირ მარშრუტიზაციას.

გასვლის შესამოწმებლად ჰკითხეთ სანდო საბოლოო წერტილს გათვალისწინებული პროქსის პოლიტიკის ფარგლებში და შეინახეთ მოთხოვნის იდენტურობა დაკვირვებასთან ერთად. მბრუნავი შუამავალი პროგრამა შემდგომ შემოწმებას სხვა საბოლოო წერტილს მისცემს.

გადამისამართებები ასევე ქმნიან კიდევ ერთ მოთხოვნას. საბოლოო მეტამონაცემები ამ ეტაპს აღწერს; გადახედეთ გადამისამართებების ისტორიას და შუამავალი პროგრამის ნებისმიერ ხელახალ არჩევანს, ნაცვლად იმისა, რომ ის პირველი URL-ის მარშრუტის მტკიცებულებად მიიჩნიოთ.

დაკავშირებული სტატიები