Python urllib: د HTTP غوښتنو لپاره Basic د پراکسي تصدیق
د HTTP پراکسي Basic ننګونې لپاره روښانه urllib opener جوړ کړئ او دا عادي HTTP تبادله د HTTPS CONNECT تصدیق څخه جلا کړئ.
د HTTP پراکسي له خوا راغلې Basic ننګونې لپاره ProxyBasicAuthHandler وکاروئ. دا عادي HTTP بېلګه لار او حساب په یوه opener کې ساتي:
import os
from urllib.request import (
ProxyHandler, ProxyBasicAuthHandler,
HTTPPasswordMgrWithDefaultRealm, build_opener,
)
proxy_url = 'http://proxy.example:8080'
passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(
None, proxy_url,
os.environ['PROXY_USER'], os.environ['PROXY_PASSWORD'],
)
opener = build_opener(
ProxyHandler({'http': proxy_url}),
ProxyBasicAuthHandler(passwords),
)
with opener.open('http://example.com/', timeout=10) as response:
print(response.status)اصلي پای ټکی او هغه حساب وکاروئ چې چلونکی یې برابروي. دا هندلر د پراکسي ننګونې لپاره د پټنوم مدیر کاروي؛ د پراکسي اړوند URI او realm سره سمون کړئ. په منزل کې Basic تصدیق بل هندلر کاروي.
opener په مستقیم ډول رابلل دا ترتیب محلي ساتي. د غوښتنې URL وېبپاڼه پاتې کیږي، نه منځګړی. دا روښانه HTTP لار Basic تبادله کوډ نه کوي.
له دې بېلګې د HTTPS تونل ملاتړ مه اخلئ. د CONNECT پر مهال 407 د ترتیب پر مهال، د منزل له عادي ځواب دمخه پېښېږي؛ غوره شوې ادغام باید تصدیق هلته سمبال کړي. د وېبپاڼې د ننوتلو هندلر بدلول هغه پخوانۍ ننګونه نه شي سمولای.
د اعتبارنامو لرونکي پراکسي URL بل بڼه ده چې په زړو بېلګو کې موندل کیږي. که وکارول شي، د URL جلا کوونکې په سمه توګه کوډ کړئ او رامنځته شوی پټیز لرونکی URL له ثبتونو بهر وساتئ.