ഓഫീസ് പ്രോക്സി ഒരു അക്കൗണ്ട് ആവശ്യപ്പെടുന്നു. അതിനു പിന്നിലെ വെബ്‌സൈറ്റ് മറ്റൊന്ന് ആവശ്യപ്പെടുന്നു. ആ രണ്ട് Basic ലോഗിനുകൾക്കായി Requests-ന് വേർതിരിച്ച ഇൻപുട്ടുകളുണ്ട്: പ്രോക്സി 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 ലക്ഷ്യത്തിന്റെ വെല്ലുവിളി സൂചിപ്പിക്കുന്നു. രണ്ട് കോൺഫിഗർ ചെയ്ത അക്കൗണ്ടുകളിൽ ഏതിനാണ് ശ്രദ്ധ വേണ്ടതെന്ന് തീരുമാനിക്കാൻ ആ പ്രതികരണം ഉപയോഗിക്കുക.

അനുബന്ധ ലേഖനങ്ങൾ