Neke aplikacije traže IP:port. Druge trebaju URL koji počinje s http:// ili socks5://. Postavke preglednika često odvajaju adresu i port u različita polja. Ista krajnja točka zato može imati više oblika bez promjene adrese.

IPv4 unos

Pretpostavimo da popis HTTP proxyja daje primjer HTTP proxyja 203.0.113.10:8080.

Aplikacija tražiUnesite
Host ili IP203.0.113.10
Port8080
URL HTTP proxyjahttp://203.0.113.10:8080

Ne navodite port dvaput. Ako aplikacija već ima polje za port, unos 203.0.113.10:8080 u polje hosta može je navesti da cijeli niz pokuša razriješiti kao naziv hosta. Također ne dodajte shemu u polje koje izričito očekuje samo IP adresu.

Shema mora odgovarati usluzi. Prije pretvaranja adrese odaberite HTTP ili SOCKS5 prema podršci klijenta. Pisanje socks5:// ispred HTTP krajnje točke mijenja ono što klijent šalje; ne uključuje SOCKS5 na tom poslužitelju.

IPv6 u URL-u zahtijeva uglate zagrade

IPv6 adresa već sadrži dvotočke pa URL stavlja adresu u uglate zagrade prije dodavanja porta:

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

Bez zagrada granica između adrese i porta nije jasna. Aplikacija sa zasebnim poljima obično traži 2001:db8::10 kao host i 8080 kao port; slijedite njezin ulazni format. Obje adrese ovdje su dokumentacijski primjeri, a ne aktivni proxyji.

Raščlanjujte URL-ove umjesto dijeljenja na svakoj dvotočki

Mala Python skripta može obraditi IPv4 URL-ove i IPv6 URL-ove sa zagradama pomoću standardnog URL parsera:

from urllib.parse import urlsplit

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

Svojstvo hostname vraća adresu bez zagrada. Dijeljenje izvornog niza na svakoj dvotočki pokvarilo bi ovaj primjer. U stvarnom uvozniku odbijte i nedostajuće hostove, nepodržane sheme i portove izvan 1–65535. Raščlanjivanje daje dijelove URL-a; ne dokazuje postojanje usluge.

Kada popis sadrži korisničko ime i lozinku

Čest raspored URL-a je http://username:password@host:port. Znakovi poput @, # i / u vjerodajnicama zahtijevaju pravilno URL kodiranje. Ako klijent nudi zasebna polja za vjerodajnice, obično ih je lakše upotrijebiti nego ručno sastavljati URL.

Prije pretvaranja niza vjerodajnica odvojenih dvotočkama provjerite izvorni format pružatelja. Četiri tako odvojena polja nemaju univerzalno značenje, a i sama lozinka može sadržavati dvotočku. Parser jednostavnih redaka IP:port ne smije prešutno nagađati drugi format.

Povezani članci