Сонгосон замыг шалгахдаа дууссан хариултад хавсарсан 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 өөрөө шууд чиглүүлэлтийг батлахгүй.

Гарахыг шалгахын тулд төлөвлөсөн прокси бодлогын дагуу итгэмжлэгдсэн төгсгөлийн цэгээс асуугаад хүсэлтийн таних мэдээллийг ажиглалттай хамт хадгална. Эргэлдэх middleware дараагийн шалгалтад өөр төгсгөлийн цэг өгч болно.

Дахин чиглүүлэлт нь бас өөр хүсэлт үүсгэдэг. Эцсийн мета өгөгдөл тэр үе шатыг тодорхойлдог; эхний URL-ын замд нотолгоо гэж үзэхийн оронд дахин чиглүүлэлтийн түүх болон middleware-ийн дахин сонголтыг шалгана.

Холбоотой нийтлэлүүд