Scrapy-ren proxy amaiera-puntua eta konexio-IPa irakurtzea
Erabili hautatutako proxyaren eskaeraren metadatuak, trata ezazu response.ip_address handlerrak emandako parearen informazio gisa, eta egiaztatu irteera-IPa helmugan.
Hautatutako ibilbidea aztertzeko, erabili osatutako erantzunari lotutako Request-a. Eutsi hiru behaketa bereizita:
| Eremua | Esanahia |
|---|---|
response.request.meta.get('proxy') | Eskaera honen hautatutako proxy URLa, badagoenean |
response.ip_address | Deskarga-handlerrak emandako helbidea, baliteke None izatea |
| Konfiantzazko helmuga baten iturri-txostena | Han behatutako iturri publikoa |
Callback baten barruan, utzi kredentzialak dituzten URL zatiak errutinazko diagnostikotik kanpo:
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.3ren HTTP/1.1 handlerrean helbidea erantzunaren konexio-parearen partetik dator, ez irteera-IP zerbitzu batetik. Bide batzuek, zero luzerako erantzunek barne, None utz dezakete. Beste handler batzuek modu ezberdinean bete dezakete. None-k berak ez du zuzeneko bideratzea frogatzen.
Irteera egiaztatzeko, galdetu konfiantzazko amaiera-puntu bat aurreikusitako proxy-politikaren pean eta gorde eskaeraren identitatea behaketarekin batera. Middleware birakariak beste amaiera-puntu bat eman diezaioke geroagoko egiaztapenari.
Birbideratzeek beste eskaera bat ere sortzen dute. Azken metadatuek etapa hori deskribatzen dute; berrikusi birbideratze-historia eta middlewarearen nolabaiteko berraukera, lehen URLaren ibilbidearen froga gisa hartu beharrean.