Python urllib: bunfhíordheimhniú seachfhreastalaí le haghaidh iarrataí HTTP
Tóg opener urllib follasach do dhúshlán Basic ó sheachfhreastalaí HTTP, agus idirdhealaigh an malartú HTTP gnásúil sin ó fhíordheimhniú HTTPS CONNECT.
Le haghaidh dúshlán Basic ó sheachfhreastalaí HTTP, úsáid ProxyBasicAuthHandler. Coinníonn an sampla HTTP gnásúil seo an bealach agus an cuntas in aon opener amháin:
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)Úsáid an fíor-chríochphointe agus an cuntas a sholáthraíonn an t-oibreoir. Úsáideann an láimhseálaí an bainisteoir pasfhocal do dhúshlán an tseachfhreastalaí; meaitseáil URI agus realm beartaithe an tseachfhreastalaí. Úsáideann fíordheimhniú Basic ag an gceann scríbe láimhseálaí eile.
Coinníonn glaoch díreach ar an opener an socrú seo áitiúil. Fanann URL an iarratais mar an suíomh gréasáin, ní an t-idirghabhálaí. Ní dhéanann an bealach HTTP soiléir seo malartú Basic a chriptiú.
Ná tóg tacaíocht tolláin HTTPS as an sampla seo. Tarlaíonn 407 le linn CONNECT ag an socrú, roimh ghnáthfhreagra ceann scríbe; caithfidh an t-inteagrú roghnaithe fíordheimhniú a láimhseáil ansin. Ní féidir le hathrú ar láimhseálaí logála isteach an tsuímh an dúshlán níos luaithe sin a shocrú.
Formáid eile is ea URLanna seachfhreastalaí a iompraíonn dintiúir a fhaightear i samplaí níos sine. Má úsáidtear iad, déan deighilteoirí URL a ionchódú i gceart agus coinnigh an URL rúnda dá bharr amach as na logaí.