Saita kanun proxy da HTTPAdapter.proxy_headers na Requests
Faɗaɗa HTTPAdapter.proxy_headers don filin da proxy ya ayyana, tare da riƙe yadda Requests ke samar da kan tabbatarwar proxy.
Don kan da mai sarrafa proxy ya ayyana, Requests yana bayar da HTTPAdapter.proxy_headers a matsayin wurin maye gurbi:
from urllib.parse import urlsplit
import requests
from requests.adapters import HTTPAdapter
class TaggedProxy(HTTPAdapter):
def proxy_headers(self, proxy):
headers = super().proxy_headers(proxy)
endpoint = urlsplit(proxy)
if (endpoint.scheme == 'http'
and endpoint.hostname == 'proxy.example'
and endpoint.port == 8080):
headers['X-Proxy-Account'] = 'department-a'
return headers
with requests.Session() as session:
adapter = TaggedProxy()
session.mount('http://', adapter)
session.mount('https://', adapter)
response = session.get(
'https://service.example/data',
proxies={'https': 'http://proxy.example:8080'},
timeout=15,
)
X-Proxy-Account misali ne na filin da wannan proxy ɗin ke fahimta, ba hanya ce ta yau da kullum don tabbatarwa ga kowane mai shiga tsakani ba.
Fara da super().proxy_headers(proxy). Requests na amfani da wannan hanyar don samar da Proxy-Authorization lokacin da URL ɗin ya ba da asusun Basic. Maye gurbin duka sakamakon na iya rasa wannan ɗabi'ar.
Adaftan na miƙa waɗannan ƙimomi zuwa ProxyManager na urllib3. A cikin ramin HTTPS suna tare da CONNECT. Taswirar kan buƙatun na yau da kullum na bayanin buƙatar wurin da za a je daga baya.
Ana ajiye manajojin proxy a ajiya bisa URL ɗin proxy. Kada ka ɗauki wannan ƙugiya a matsayin kira ba tare da ajiya ba ga kowace buƙatar kasuwanci don ƙimar da dole ta canza a kowane kira. Zaɓi ikon jigilar kaya bisa haka lokacin da alamar asusu ta bambanta.
A tura HTTP na fili, filayen proxy har yanzu suna buƙatar manufar amfani da mai shiga tsakani ya yi niyya. Kasancewar kan ya keɓance ga proxy a API ɗin abokin ciniki ba garantin sirri ba ne idan proxy ya tura shi gaba.