Python Requests: ప్రాక్సీ మరియు వెబ్సైట్ కోసం వేర్వేరు Basic లాగిన్లు
ప్రాక్సీ Basic లాగిన్ను దాని URL ద్వారా, లక్ష్య వెబ్సైట్ Basic లాగిన్ను Requests యొక్క auth ఆర్గ్యుమెంట్ ద్వారా ఇవ్వండి.
ఆఫీసు ప్రాక్సీ ఒక ఖాతా అడుగుతుంది. దాని వెనుక ఉన్న వెబ్సైట్ మరొకటి అడుగుతుంది. Requests వద్ద ఆ రెండు Basic లాగిన్లకు వేర్వేరు ఇన్పుట్లు ఉన్నాయి: ప్రాక్సీ URL లోని ఆధారాలు మరియు అభ్యర్థన యొక్క auth ఆర్గ్యుమెంట్.
from urllib.parse import quote
import requests
proxy_url = (
f"http://{quote(proxy_user, safe='')}:"
f"{quote(proxy_password, safe='')}@proxy.example:8080"
)
response = requests.get(
"https://reports.example/private/",
proxies={"https": proxy_url},
auth=(site_user, site_password),
timeout=(5, 20),
)
response.raise_for_status()
నాలుగు ఖాతా వేరియబుల్స్ అప్లికేషన్ ఆధారాల కాన్ఫిగరేషన్ నుండి వస్తాయి. ప్రాక్సీ వినియోగదారు పేరు మరియు పాస్వర్డ్ను విడివిడిగా ఎన్కోడ్ చేయడం at గుర్తు వంటి అక్షరాలను URL విభాజకాలుగా మార్చకుండా కాపాడుతుంది.
నిఘంటువులోని https కీ HTTPS లక్ష్యం కోసం ఈ మార్గాన్ని ఎంచుకుంటుంది. దాని విలువ ఇప్పటికీ http:// తో ప్రారంభమవుతుంది, ఎందుకంటే ఈ ఉదాహరణ ప్రాక్సీని చేరుకోవడానికి ఉపయోగించే ప్రోటోకాల్ అదే.
ఆ HTTPS అభ్యర్థనలో ప్రాక్సీ లాగిన్ CONNECT మార్పిడికి చెందుతుంది. సైట్ లాగిన్ ఏర్పాటు చేసిన సొరంగం ద్వారా వచ్చే తదుపరి అభ్యర్థనకు చెందుతుంది. అడాప్టర్ తన సొంత URL నుండి ప్రాక్సీ అనుమతిని తీసుకోనివ్వడం దానిని సంబంధిత హాప్ వద్దే ఉంచుతుంది; ఈ Basic సందర్భానికి సంయుక్త ప్రామాణీకరణ తరగతి అవసరం లేదు.
407 మధ్యవర్తి సవాలును సూచిస్తుంది. సైట్ నుండి వచ్చిన 401 లక్ష్యం సవాలును సూచిస్తుంది. కాన్ఫిగర్ చేసిన రెండు ఖాతాల్లో ఏది శ్రద్ధ అవసరమో నిర్ణయించడానికి ఆ ప్రతిస్పందనను ఉపయోగించండి.