IP in vrata posrednika: katero obliko potrebuje vaša aplikacija?
Vnos s seznama posrednikov pretvorite v URL HTTP ali SOCKS, izpolnite ločeni polji za gostitelja in vrata ter pravilno oblikujte naslove IPv6.
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 zahteva | Vnesite |
|---|---|
| Gostitelj ali IP | 203.0.113.10 |
| Vrata | 8080 |
| URL posrednika HTTP | http://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.