Ukufunda i-proxy endpoint ne-IP yoxhumano ku-Scrapy
Sebenzisa i-metadata yesicelo ku-proxy ekhethiwe, thatha i-response.ip_address njengolwazi lwe-peer olunikezwa yi-handler, futhi uqinisekise i-IP yokuphuma endaweni ekuyiwa kuyo.
Ukuze uhlole umzila okhethiwe, sebenzisa i-Request exhunywe kumpendulo eqediwe. Gcina ukubona okuthathu ngokwehlukana:
| Inkambu | Incazelo |
|---|---|
response.request.meta.get('proxy') | I-URL ye-proxy ekhethiwe yalesi sicelo, uma ikhona |
response.ip_address | Ikheli elinikezwa yi-handler yokulanda, kungenzeka kube None |
| Umbiko womthombo ovela endaweni ethembekile | Umthombo womphakathi obonwe lapho |
Ngaphakathi kwe-callback, shiya izingxenye ze-URL eziphethe ubufakazi bokungena ekuhloleni okujwayelekile:
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,
)Ku-handler ye-HTTP/1.1 ye-Scrapy 2.13.3 ikheli livela ku-peer yoxhumano lwempendulo, hhayi kusesevisi ye-IP yokuphuma. Eminye imizila, kuhlanganise nezimpendulo ezinobude obunguziro, ingayishiya iyino-None. Amanye ama-handler angayigcwalisa ngendlela ehlukile. I-None ngokwayo ayifakazeli ukuhamba ngqo.
Ukuze kuhlolwe ukuphuma, buza i-endpoint ethembekile ngaphansi kwenqubomgomo ye-proxy ehlosiwe futhi ugcine ubunikazi besicelo kanye nokubona. I-middleware ejikelezayo inganikeza ukuhlola kwakamuva i-endpoint enye.
Ukudluliswa kwakhona nakho kwakha esinye isicelo. I-metadata yokugcina ichaza leso sigaba; hlola umlando wokudluliswa kanye nanoma yikuphi ukuphinda kukhethwe yi-middleware esikhundleni sokukuthatha njengobufakazi bomzila we-URL yokuqala.