Scrapy starpniekservera galapunkta un savienojuma IP lasīšana
Izmantojiet pieprasījuma metadatus izvēlētajam starpniekserverim, uzskatiet response.ip_address par apstrādātāja sniegtu informāciju par partneri un pārbaudiet izejas IP galamērķī.
Lai pārbaudītu izvēlēto maršrutu, izmantojiet Request, kas piesaistīts pabeigtajai atbildei. Turiet trīs novērojumus atsevišķi:
| Lauks | Nozīme |
|---|---|
response.request.meta.get('proxy') | Šī pieprasījuma izvēlētais starpniekservera URL, ja tāds ir |
response.ip_address | Lejupielādes apstrādātāja sniegtā adrese, iespējams None |
| Uzticama galamērķa avota ziņojums | Tur novērotais publiskais avots |
Callback iekšienē izlaidiet URL daļas ar akreditācijas datiem no parastās diagnostikas:
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 apstrādātājā adrese nāk no atbildes savienojuma partnera, nevis no izejas IP pakalpojuma. Daži ceļi, tostarp nulles garuma atbildes, var atstāt to None. Citi apstrādātāji var to aizpildīt citādi. None pats par sevi nepierāda tiešu maršrutēšanu.
Lai pārbaudītu izeju, jautājiet uzticamam galapunktam saskaņā ar paredzēto starpniekservera politiku un saglabājiet pieprasījuma identitāti kopā ar novērojumu. Rotējošā starpprogrammatūra vēlākai pārbaudei var dot citu galapunktu.
Pāradresācijas arī rada vēl vienu pieprasījumu. Galīgie metadati apraksta šo posmu; pārbaudiet pāradresāciju vēsturi un jebkuru atkārtotu starpprogrammatūras izvēli, nevis uzskatiet to par pirmā URL maršruta pierādījumu.