Defnyddiwch y Request sydd ynghlwm wrth yr ymateb gorffenedig wrth archwilio ei lwybr a ddewiswyd. Cadwch dri arsylwad ar wahân:

MaesYstyr
response.request.meta.get('proxy')URL y proxy a ddewiswyd ar gyfer y cais hwn, pan fo'n bresennol
response.ip_addressCyfeiriad a ddarperir gan y trefnydd lawrlwytho, o bosibl None
Adroddiad ffynhonnell o gyrchfan ymddiriedusY ffynhonnell gyhoeddus a arsylwyd yno

Y tu mewn i callback, hepgorwch rannau URL sy'n cario manylion mewngofnodi o ddiagnosteg arferol:

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

Yn nhriniwr HTTP/1.1 Scrapy 2.13.3 daw'r cyfeiriad o gymar cysylltiad yr ymateb, nid o wasanaeth IP allan. Gall rhai llwybrau, gan gynnwys ymatebion o hyd sero, ei adael yn None. Gall trinwyr eraill ei lenwi'n wahanol. Nid yw None ynddo'i hun yn profi llwybro uniongyrchol.

Ar gyfer gwiriad allan, holwch bwynt terfyn ymddiriedus o dan y polisi proxy arfaethedig a chadwch unfathiaeth y cais gyda'r arsylwad. Gall middleware cylchdroi roi pwynt terfyn arall i wiriad diweddarach.

Mae ailgyfeiriadau yn creu cais arall hefyd. Mae'r metadata terfynol yn disgrifio'r cam hwnnw; archwiliwch hanes ailgyfeirio ac unrhyw ailddewis gan middleware yn lle ei drin fel prawf o lwybr yr URL cyntaf.

Erthyglau cysylltiedig