Les Scrapy proxy-endan og sambands-IP
Brúka metadáta frá fyrirspurningini til tað valda proxyið, viðfeldfa response.ip_address sum peer-upplýsingar frá handlerinum, og vátta útgangs-IP á málinum.
Tá tú kanst tað valdu leiðina, brúka Request, sum er knýtt at hinum liðnu svarinum. Halt tríggjar kanningar sundur:
| Felt | Merking |
|---|---|
response.request.meta.get('proxy') | Hin valda proxy-URL hjá hesi fyrirspurning, tá hon er til |
response.ip_address | Adressa frá niðurtøkuhandlerinum, kanska None |
| Keldutilkning frá álítandi máli | Hin almenna kelda, sum varð sædd har |
Inni í einum callback, lat URL-partar við innritanarupplýsingum vera úti úr vanligari greining:
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,
)Í HTTP/1.1-handlerinum í Scrapy 2.13.3 kemur adressan frá peerinum á sambandinum hjá svarinum, ikki frá eini útgangs-IP-tænastu. Summar leiðir, eisini svar við null-longd, kunnu lata hana vera None. Aðrir handlerar kunnu fylla hana øðrvísi. None prógvar ikki sjálvt beinleiðis routing.
Til eina útgangskanning, spyr eina álítandi enda undir ætlaðu proxy-stevnumi og goym fyrirspurningar-identitetin saman við kanningini. Roterandi middleware kann geva seinni kanning ein annan enda.
Víðarístøður gera eisini eina aðra fyrirspurning. Endalig metadáta lýsa tí stiginu; kan víðarístøðusøguna og eina möguliga nýval hjá middleware, í staðin fyri at taka tað sum prógv fyri leiðini hjá fyrstu URL.