Python urllib: xaqiijinta Basic ee boroksi ee codsiyada HTTP
Dhis opener urllib cad oo loogu talagalay caqabadda Basic ee boroksi HTTP, kana sooc isweydaarsiga HTTP caadiga ah iyo xaqiijinta HTTPS CONNECT.
Caqabadda Basic ee ka timaadda boroksi HTTP, isticmaal ProxyBasicAuthHandler. Tusaalahan HTTP caadiga ah wuxuu waddada iyo akoonka ku hayaa hal 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)Isticmaal barta dhabta ah iyo akoonka uu bixiyo hawlgeliye. Maareeyaha wuxuu isticmaalaa maareeyaha ereyga sirta ah ee caqabadda boroksi; u habee URI iyo realm ee boroksi ee loogu talagalay. Xaqiijinta Basic ee meesha loo socdo waxay isticmaashaa maareeye kale.
Wicitaanka opener si toos ah wuxuu dejintan ku hayaa gudaha. URL-ka codsigu wuxuu ahaanayaa websaydka, ma aha dhexdhexaadiyaha. Waddadan HTTP ee cad ma sireeyso isweydaarsiga Basic.
Ha ka soo qaadan tusaalahan taageerada tunnel HTTPS. 407 inta lagu jiro CONNECT waxay dhacdaa marka la dejinayo, ka hor jawaabta caadiga ah ee meesha loo socdo; isku darka la doortay waa inuu halkaas ka maareeyaa xaqiijinta. Beddelka maareeyaha gelitaanka ee websaydka ma hagaajin karo caqabadda hore.
URL-yada boroksi ee sita aqoonsiga waa qaab kale oo laga helo tusaalooyin hore. Haddii la isticmaalo, si sax ah u codee kala-soocayaasha URL oo ka fogee URL-ka sirta sita diiwaannada.