Caractaran sònraichte ann am faclan-faire progsaidh
Còdaich ainm-cleachdaiche agus facal-faire a’ phrogsaidh fa leth gus nach bris @, còilean, slaisichean no # an URL.
Faodaidh facal-faire le @ no # URL progsaidh a chaidh a thogail le làimh a bhriseadh fiù ’s nuair a tha na teisteasan ceart. Tha ciall aig na caractaran sin ann an URL mu thràth, agus mar sin faodaidh an cliant pàirt den fhacal-faire a mhìneachadh mar ainm òstair no bloigh.
Còdaich an dà raon teisteanais fa leth
Tha an eisimpleir seo a’ cumail sgaradairean structarail an URL slàn agus a’ còdachadh dìreach an ainm-cleachdaiche agus an fhacail-faire:
from urllib.parse import quote
username = "user@team"
password = "p:a/ss#?"
proxy_url = (
"http://"
+ quote(username, safe="")
+ ":"
+ quote(password, safe="")
+ "@203.0.113.10:8080"
)
Cleachd am puing-deiridh agus na teisteasan agad fhèin. Tha an seòladh na eisimpleir sgrìobhainne. Tha an argamaid fhalamh safe cudromach: mar as trice fàgaidh quote slais gun teicheadh, ach feumar slais san raon teisteanais seo a chòdachadh.
Na còdaich an URL progsaidh gu lèir. Bidh còdachadh sgaradairean na sgeama agus an @ eadar na teisteasan agus an t-òstair a’ milleadh an structair a bha thu airson glèidheadh. Seachain cuideachd facal-faire a tha air a chòdachadh mu thràth a chòdachadh an dàrna turas.
Cleachd an toradh le Requests
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
Ma dh’fhàilligeas an t-iarrtas fhathast, dearbhaich a bheil am progsaidh a’ diùltadh na h-inntrigidh no an do dh’fhàillig an cliant na bu tràithe aig parsadh no ceangal. Tha dùbhlan dearbhaidh-aithne 407 agus URL mì-dhligheach nan diofar fhàilligidhean.
Faodaidh HTTPX dearbhadh-aithne a chumail air leth
Faodaidh oibseact Proxy de HTTPX am puing-deiridh agus na teisteasan a ghabhail mar argamaidean fa leth:
import httpx
proxy = httpx.Proxy(
"http://203.0.113.10:8080",
auth=("user@team", "p:a/ss#?"),
)
with httpx.Client(proxy=proxy, trust_env=False, timeout=15) as client:
response = client.get("https://example.com/")
response.raise_for_status()
Seachnaidh seo togail na pàirt userinfo leat fhèin. Chan eil e a’ crioptachadh nan teisteasan gu neo-eisimeileach bhon cheangal progsaidh no a’ taghadh modh dearbhaidh-aithne ris a bheil gach seirbheis a’ cur taic.
Mura toir liosta an-asgaidh ach IP agus port, chan eil an eisimpleir seo a’ toirt teisteasan bunaiteach. Na cleachd dearbhadh-aithne ach nuair a bheir an gnìomhaiche cunntas dhut dha-rìribh. Na cuir URLan le teisteasan ann an logaichean co-roinnte no faidhlichean tùsail.