ഒരു Python urllib ഓപ്പണറിൽ കുക്കികളും പ്രോക്സിയും ഉപയോഗിക്കുക
ഒരു urllib ഓപ്പണറിൽ ProxyHandler-ഉം HTTPCookieProcessor-ഉം ചേർക്കുക, ബന്ധപ്പെട്ട പ്രോക്സി അഭ്യർത്ഥനകൾ ഉദ്ദേശിച്ച കുക്കി ജാർ പങ്കിടുന്നതിന്.
urllib ഓപ്പണറിന് അഭ്യർത്ഥനകൾ പ്രോക്സി വഴി അയയ്ക്കാനും അതേസമയം സൈറ്റിന്റെ കുക്കികൾ നിലനിർത്താനും കഴിയും. അതിന് രണ്ട് ഹാൻഡ്ലറുകളും നൽകുക:
from http.cookiejar import CookieJar
from urllib.request import (
HTTPCookieProcessor, ProxyHandler, build_opener,
)
cookies = CookieJar()
opener = build_opener(
ProxyHandler({"http": "http://proxy.example:8080"}),
HTTPCookieProcessor(cookies),
)
with opener.open("http://www.example.com/", timeout=10) as response:
body = response.read()ഉദാഹരണം സാധാരണ HTTP ലക്ഷ്യവും അതിന്റെ വ്യക്തമായ പ്രോക്സി പാതയും ഉപയോഗിക്കുന്നു. പ്രോക്സി പ്രാമാണീകരണമില്ലാതെ അനുവദനീയമായ പൊതു സൈറ്റ് പരിശോധനയ്ക്ക്, ആ പാതയ്ക്ക് HTTP പ്രോക്സി പട്ടികയിൽ നിന്ന് സ്ഥാനാർത്ഥിയെ തിരഞ്ഞെടുത്ത് ഉദ്ദേശിച്ച കുക്കി ജാർ നിലനിർത്തുക. അതേ സൈറ്റ് സെഷന്റെ തുടർന്നുള്ള അഭ്യർത്ഥനകൾക്ക് opener വീണ്ടും ഉപയോഗിക്കുക. കുക്കി പ്രോസസർ സ്വീകാര്യമായ പ്രതികരണ കുക്കികൾ വേർതിരിച്ചെടുത്ത് ബാധകമായവ അടുത്ത അഭ്യർത്ഥനകളിൽ ചേർക്കുന്നു.
ഓരോ കോളിനും മുമ്പ് പുതിയ ശൂന്യ CookieJar സൃഷ്ടിക്കുന്നത് ആ തുടർച്ച നഷ്ടപ്പെടുത്തുന്നു. ജാർ അത് പ്രതിനിധീകരിക്കുന്ന സെഷനൊപ്പം സൂക്ഷിക്കുക; കുക്കികൾ വേർതിരിച്ചിരിക്കേണ്ട അക്കൗണ്ടുകൾക്കോ വർക്ക്ഫ്ലോകൾക്കോ വേറിട്ട ജാറുകൾ ഉപയോഗിക്കുക.
അടിസ്ഥാന CookieJar അവസ്ഥ മെമ്മറിയിൽ സൂക്ഷിക്കുന്നു. പ്രോഗ്രാം റണ്ണുകൾക്കിടയിൽ നിലനിർത്താൻ അനുയോജ്യമായ FileCookieJar ഉപവർഗം തിരഞ്ഞെടുത്ത് ബോധപൂർവം സംരക്ഷിക്കുകയോ ലോഡ് ചെയ്യുകയോ ചെയ്യുക.
ഈ ക്രമീകരണത്തിന് ആഗോള opener ഇൻസ്റ്റാൾ ചെയ്യേണ്ട ആവശ്യമില്ല. ഈ ഒബ്ജക്റ്റിന്റെ open രീതി വിളിക്കുന്നത് പ്രോക്സിയും കുക്കികളും ഒരേ പ്രവർത്തനത്തോട് ബന്ധിപ്പിച്ചു നിർത്തുന്നു.