د Requests د HTTPAdapter.proxy_headers سره د پروکسي سرلیکونه ټاکل
د پروکسي لخوا ټاکل شوي ډګر لپاره HTTPAdapter.proxy_headers پراخه کړئ، او د Requests موجوده د پروکسي تصدیق سرلیک جوړونه وساتئ.
د پروکسي چلوونکي لخوا ټاکل شوي سرلیک لپاره، Requests د HTTPAdapter.proxy_headers د بدلون نقطې په توګه وړاندې کوي:
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 د هغه ډګر بېلګه ده چې همدا پروکسي یې پوهېږي، نه د هر منځګړي سره د تصدیق معیاري لاره.
له super().proxy_headers(proxy) سره پیل وکړئ. کله چې URL د Basic حساب وړاندې کړي، Requests هغه طریقه د Proxy-Authorization جوړولو لپاره کاروي. د ټولې پایلې بدلول کېدای شي هغه چلند له لاسه ورکړي.
اډاپټر دا ارزښتونه urllib3 ته د ProxyManager ته لېږي. په HTTPS تونل کې دا له CONNECT سره ځي. د غوښتنې سرلیکونو عادي نقشه وروسته د منزل غوښتنه بیانوي.
د پروکسي مدیران د پروکسي URL له مخې کیش کېږي. د هغه ارزښت لپاره چې باید په هر تګ راتګ بدل شي، دا هنګر د هر سوداګریزې غوښتنې لپاره بې کیشه کال بیک مه ګڼئ. کله چې د حساب نښه بدله شي، د لېږد مالکیت له همدې مخې وټاکئ.
په ساده HTTP لېږد کې، د پروکسي ډګرونو لپاره لا هم د منځګړي هدف شوې کارونې تګلاره اړینه ده. دا چې سرلیک په کلاینټ API کې پروکسي-ځانګړی وي، د محرمیت تضمین نه دی که پروکسي دا مخکې ولېږي.