Python urllib: dearbhadh bunaiteach proxy airson iarrtasan HTTP
Tog opener urllib follaiseach airson dùbhlan Basic bho proxy HTTP, agus eadar-dhealaich an t-iomlaid HTTP àbhaisteach sin bho dhearbhadh HTTPS CONNECT.
Airson dùbhlan Basic bho proxy HTTP, cleachd ProxyBasicAuthHandler. Cumaidh an eisimpleir HTTP àbhaisteach seo an t-slighe agus an cunntas ann an aon 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)Cleachd an dearbh cheann-uidhe agus an cunntas a bheir an gnìomhaiche. Cleachdaidh an làimhseachadh am manaidsear fhaclan-faire airson dùbhlan a' phroxy; maidsidh URI agus realm a' phroxy a tha san amharc. Cleachdaidh dearbhadh Basic aig a' cheann-uidhe làimhseachadh eile.
Tha gairm an opener gu dìreach a' cumail an t-suidheachaidh seo ionadail. Tha URL an iarrtais fhathast na làrach, chan e am meadhanair. Chan eil an t-slighe HTTP soilleir seo a' crioptachadh iomlaid Basic.
Na thoir leat taic tunail HTTPS bhon eisimpleir seo. Tachraidh 407 ri linn CONNECT aig an t-suidheachadh, mus tig freagairt àbhaisteach bhon cheann-uidhe; feumaidh an t-ion-obrachadh a thaghadh dearbhadh a làimhseachadh an sin. Chan urrainn do dh'atharrachadh air làimhseachadh logaidh a' làraich an dùbhlan nas tràithe sin a chàradh.
'S e cruth eile a tha ann an URLan proxy le teisteanasan a gheibhear ann an eisimpleirean nas sine. Ma thèid an cleachdadh, dèan còdachadh ceart air dealaichean URL agus cùm an URL dìomhair a thig às a-mach às na logaichean.