Ukuze uhlole umzila okhethiwe, sebenzisa i-Request exhunywe kumpendulo eqediwe. Gcina ukubona okuthathu ngokwehlukana:

InkambuIncazelo
response.request.meta.get('proxy')I-URL ye-proxy ekhethiwe yalesi sicelo, uma ikhona
response.ip_addressIkheli elinikezwa yi-handler yokulanda, kungenzeka kube None
Umbiko womthombo ovela endaweni ethembekileUmthombo 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.

Izihloko ezihlobene