Python urllib: د پروکسي لارښوونې د وېبپاڼې Basic Authentication سره یوځای کول
د نړیوال opener دوه ځله بدلولو پرته urllib لارښوونه او د منزل Basic authentication په یو روښانه opener کې یوځای کړئ.
install_opener() دوه ځله غوښتل دوهم opener لومړي ته نه ورزیاتوي. دا د module اصلي opener بدلوي. که یو شی proxy پېژني او بل د وېبپاڼې ننوتل، نو د اړینو handlers سره یو opener جوړ کړئ.
import os
from urllib.request import (ProxyHandler, HTTPBasicAuthHandler,
HTTPPasswordMgrWithDefaultRealm, build_opener)
passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(None, 'https://example.com/private/',
os.environ['SITE_USER'], os.environ['SITE_PASSWORD'])
opener = build_opener(
ProxyHandler({'https': 'http://203.0.113.10:8080'}),
HTTPBasicAuthHandler(passwords),
)
with opener.open('https://example.com/private/report', timeout=10) as response:
body = response.read()proxy او منزل بېلګې دي. د عامې HTTP proxy له لارې د رسېدو وړ عامې خدمت لپاره د HTTP proxy لیست د routing handler لپاره نوماند endpoints برابروي. دا opener HTTPS غوښتنه د HTTP proxy له لارې لېږي او د منزل Basic ننګونه اداره کوي. دا د proxy تصدیق نه تنظیموي.
که proxy هم ننوتل غواړي، د ملاتړ شوي proxy-تصدیق ترتیبات جلا غوره کړئ. د CONNECT په وخت 407 د منزل له خپلې ننګونې د صادرولو دمخه پېښېږي. د وېبپاڼې اعتبارونه د پټنوم مدیر ته ورزیاتول هغه پخوانی تبادله نشي پوره کولی.
opener.open() مستقیم غوښتل ترتیبات د عملیاتو سره ساتي. د module په کچه اصلي بدلول اړین نه دي، پرته له دې چې غوښتنلیک په قصد سره غواړي ټول اسانه غوښتل دا opener شریک کړي.