د پراکسي په پټنومونو کې ځانګړي توري
د پراکسي کارننوم او پټنوم جلا انکوډ کړئ، څو @، دوه ټکي، سلاش او # URL خراب نه کړي.
که د ننوتلو معلومات سم هم وي، د @ یا # لرونکی پټنوم په لاس جوړ شوی پراکسي URL خرابولای شي. دا توري په URL کې لا مانا لري، نو مراجع د پټنوم یوه برخه د کوربه نوم یا fragment ګڼلای شي.
د ننوتلو دوه برخې جلا انکوډ کړئ
دا بېلګه د URL جوړښتي بېلوونکي ساتي او یوازې کارننوم او پټنوم انکوډ کوي:
from urllib.parse import quote
username = "user@team"
password = "p:a/ss#?"
proxy_url = (
"http://"
+ quote(username, safe="")
+ ":"
+ quote(password, safe="")
+ "@203.0.113.10:8080"
)
خپل اصلي پایټکی او د ننوتلو معلومات وکاروئ. ښودل شوې پته د سند بېلګه ده. تش safe ارګومېنټ مهم دی: quote عموماً سلاش بې له escape پرېږدي، خو د دې ننوتلو برخې سلاش باید انکوډ شي.
بشپړ پراکسي URL مه انکوډ کوئ. د سکیم بېلوونکي او د ننوتلو معلوماتو او کوربه ترمنځ @ انکوډول هغه جوړښت ورانوي چې ساتل یې مو غوښتل. مخکې انکوډ شوی پټنوم دویم ځل هم مه انکوډ کوئ.
پایله له Requests سره وکاروئ
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
که غوښتنه لا ناکامه وي، وګورئ چې پراکسي ننوتل ردوي که مراجع تر دې مخکې د شننې یا نښلېدو پر مهال ناکام شوی و. د 407 هویت تایید غوښتنه او ناسم URL بېلابېلې ناکامۍ دي.
HTTPX د هویت تایید جلا ساتلای شي
د HTTPX د Proxy ابجیکټ پایټکی او د ننوتلو معلومات په جلا ارګومېنټونو اخیستلای شي:
import httpx
proxy = httpx.Proxy(
"http://203.0.113.10:8080",
auth=("user@team", "p:a/ss#?"),
)
with httpx.Client(proxy=proxy, trust_env=False, timeout=15) as client:
response = client.get("https://example.com/")
response.raise_for_status()
په دې سره د userinfo برخې د خپل لاس جوړولو اړتیا نه پاتې کېږي. دا د ننوتلو معلومات د پراکسي له اړیکې خپلواک نه رمزوي او د هویت تایید داسې طریقه نه ټاکي چې ټول خدمتونه یې ملاتړ کوي.
که وړیا لېست یوازې IP او پورټ ورکوي، دا بېلګه ډیفالټ د ننوتلو معلومات نه ورکوي. د هویت تایید هغه وخت وکاروئ چې چلوونکی په رښتیا حساب درکوي. د ننوتلو معلومات لرونکي URLونه په شریکو لاګونو او سرچینه فایلونو کې مه ساتئ.