Xi apps iridu IP:port. Oħrajn jeħtieġu URL li jibda b’http:// jew socks5://. Is-settings tal-browser spiss ipoġġu l-indirizz u l-port f’oqsma differenti. Għalhekk l-istess endpoint jista’ jidher f’diversi formati mingħajr ma jinbidel l-indirizz tiegħu.

Entrata IPv4

Ejja ngħidu li lista ta’ proxies HTTP tagħtik il-proxy HTTP ta’ eżempju 203.0.113.10:8080.

L-app titlobDaħħal
Host jew IP203.0.113.10
Port8080
URL tal-proxy HTTPhttp://203.0.113.10:8080

Tinkludix il-port darbtejn. Jekk l-app diġà għandha qasam għall-port, li tpoġġi 203.0.113.10:8080 fil-qasam tal-host jista’ jwassalha biex tipprova ssolvi s-sekwenza kollha bħala isem ta’ host. Lanqas iżżid skema ma’ qasam li espliċitament jistenna biss indirizz IP.

L-iskema trid taqbel mas-servizz. Agħżel HTTP jew SOCKS5 skont l-appoġġ tal-klijent qabel tikkonverti l-indirizz. Li tikteb socks5:// quddiem endpoint HTTP ibiddel dak li jibgħat il-klijent; ma jattivax SOCKS5 fuq dak is-server.

IPv6 jeħtieġ parentesi kwadri f’URL

Indirizz IPv6 diġà fih żewġ punti, għalhekk il-URL jagħlaq l-indirizz f’parentesi kwadri qabel iżid il-port:

http://[2001:db8::10]:8080
socks5://[2001:db8::10]:1080

Mingħajr il-parentesi, il-konfini bejn l-indirizz u l-port ikun ambigwu. App b’oqsma separati normalment trid 2001:db8::10 bħala host u 8080 bħala port; segwi l-format ta’ input tagħha. Iż-żewġ indirizzi hawn huma eżempji għad-dokumentazzjoni, mhux proxies attivi.

Analizza l-URLs minflok taqsam f’kull żewġ punti

Skript żgħir Python jista’ jimmaniġġja URLs IPv4 u IPv6 bil-parentesi permezz tal-parser standard tal-URLs:

from urllib.parse import urlsplit

proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)

Il-proprjetà hostname tagħti lura l-indirizz mingħajr il-parentesi. Li taqsam is-sekwenza oriġinali f’kull żewġ punti jkisser dan l-eżempju. F’importatur reali, irrifjuta wkoll hosts neqsin, skemi mhux appoġġjati u ports barra minn 1–65535. L-analiżi ta’ URL tagħti l-komponenti tiegħu; ma tipprovax li s-servizz jeżisti.

Meta l-lista tinkludi username u password

Struttura komuni ta’ URL hi http://username:password@host:port. Karattri bħal @, # u / fil-kredenzjali jeħtieġu kodifikazzjoni URL xierqa. Jekk il-klijent joffri oqsma separati għall-kredenzjali, normalment ikun eħfef tużahom milli tibni URL bl-idejn.

Iċċekkja l-format oriġinali tal-fornitur qabel tikkonverti sekwenza ta’ kredenzjali separati b’żewġ punti. Erba’ oqsma separati hekk m’għandhomx tifsira universali, u l-password stess tista’ tinkludi żewġ punti. Parser għal linji sempliċi IP:port m’għandux jaqta’ format ieħor fis-skiet.

Artikli relatati