Nekatere aplikacije zahtevajo IP:port. Druge potrebujejo URL, ki se začne z http:// ali socks5://. Nastavitve brskalnika pogosto ločijo naslov in vrata v različni polji. Ista končna točka ima zato lahko več oblik zapisa brez spremembe naslova.

Vnos IPv4

Denimo, da seznam posrednikov HTTP poda vzorčni posrednik HTTP 203.0.113.10:8080.

Aplikacija zahtevaVnesite
Gostitelj ali IP203.0.113.10
Vrata8080
URL posrednika HTTPhttp://203.0.113.10:8080

Vrat ne vključite dvakrat. Če aplikacija že ima polje za vrata, lahko vnos 203.0.113.10:8080 v polje gostitelja povzroči poskus razrešitve celotnega niza kot imena gostitelja. Prav tako ne dodajte sheme v polje, ki izrecno pričakuje samo naslov IP.

Shema mora ustrezati storitvi. Pred pretvorbo naslova izberite HTTP ali SOCKS5 glede na podporo odjemalca. Zapis socks5:// pred končno točko HTTP spremeni, kaj odjemalec pošlje; ne omogoči SOCKS5 na strežniku.

IPv6 v URL-ju potrebuje oglate oklepaje

Naslov IPv6 že vsebuje dvopičja, zato URL naslov obda z oglatimi oklepaji, preden doda vrata:

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

Brez oklepajev je meja med naslovom in vrati dvoumna. Aplikacija z ločenimi polji običajno pričakuje 2001:db8::10 kot gostitelja in 8080 kot vrata; upoštevajte njeno vhodno obliko. Oba naslova sta tukaj dokumentacijska primera, ne delujoča posrednika.

Razčlenite URL-je, namesto da jih delite pri vsakem dvopičju

Majhen skript Python lahko s standardnim razčlenjevalnikom URL obravnava URL-je IPv4 in IPv6 z oklepaji:

from urllib.parse import urlsplit

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

Lastnost hostname vrne naslov brez oklepajev. Deljenje izvornega niza pri vsakem dvopičju bi ta primer pokvarilo. Pri resničnem uvozniku zavrnite tudi manjkajoče gostitelje, nepodprte sheme in vrata zunaj 1–65535. Razčlenitev URL-ja poda njegove sestavne dele; ne dokazuje, da storitev obstaja.

Ko seznam vsebuje uporabniško ime in geslo

Pogosta oblika URL-ja je http://username:password@host:port. Znaki, kot so @, # in / v poverilnicah, zahtevajo pravilno kodiranje URL. Če odjemalec ponuja ločena polja za poverilnice, jih je običajno lažje uporabiti kot ročno sestaviti URL.

Pred pretvorbo niza poverilnic, ločenih z dvopičji, preverite izvorno obliko ponudnika. Štiri tako ločena polja nimajo univerzalnega pomena, geslo pa lahko tudi samo vsebuje dvopičje. Razčlenjevalnik preprostih vrstic IP:port ne sme tiho ugibati drugačne oblike.

Sorodni članki