ऑफिसचा प्रॉक्सी एक खाते मागतो. त्यामागील वेबसाइट दुसरे मागते. 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 लक्ष्याचे आव्हान दर्शवतो. दोन कॉन्फिगर केलेल्या खात्यांपैकी कोणाकडे लक्ष द्यायचे आहे हे ठरवण्यासाठी तो प्रतिसाद वापरा.

संबंधित लेख