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

IPv4 unos

Pretpostavimo da lista 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 izaberite HTTP ili SOCKS5 prema podršci klijenta. Pisanje socks5:// ispred HTTP krajnje tačke mijenja ono što klijent šalje; ne omogućava SOCKS5 na tom serveru.

IPv6 u URL-u zahtijeva uglaste zagrade

IPv6 adresa već sadrži dvotačke pa URL stavlja adresu u uglaste 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 s odvojenim poljima obično traži 2001:db8::10 kao host i 8080 kao port; pratite njen ulazni format. Obje adrese ovdje su primjeri za dokumentaciju, a ne aktivni proxyji.

Parsiranje URL-a umjesto dijeljenja na svakoj dvotač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 dvotački pokvarilo bi ovaj primjer. U stvarnom alatu za uvoz odbijte i nedostajuće hostove, nepodržane sheme i portove izvan 1–65535. Parsiranje daje dijelove URL-a; ne dokazuje postojanje usluge.

Kada lista uključuje korisničko ime i lozinku

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

Prije pretvaranja niza pristupnih podataka razdvojenih dvotačkama provjerite izvorni format pružaoca. Četiri tako razdvojena polja nemaju univerzalno značenje, a i sama lozinka može sadržavati dvotačku. Parser jednostavnih IP:port redova ne treba prešutno nagađati drugi format.

Povezani članci