Neke aplikacije traže IP:port. Drugima je potreban URL koji počinje sa http:// ili socks5://. Podešavanja pregledača često odvajaju adresu i port u različita polja. Ista krajnja tačka zato može biti zapisana u više formata bez promene adrese.

IPv4 unos

Pretpostavimo da lista HTTP proksija daje primer HTTP proksija 203.0.113.10:8080.

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

Ne unosite port dvaput. Ako aplikacija već ima polje za port, unos 203.0.113.10:8080 u polje hosta može je navesti da ceo niz pokuša da razreši kao naziv hosta. Takođe ne dodajte šemu u polje koje izričito očekuje samo IP adresu.

Šema mora odgovarati usluzi. Pre pretvaranja adrese izaberite HTTP ili SOCKS5 prema podršci klijenta. Pisanje socks5:// ispred HTTP krajnje tačke menja ono što klijent šalje; ne uključuje SOCKS5 na tom serveru.

IPv6 u URL-u zahteva uglaste zagrade

IPv6 adresa već sadrži dvotačke, pa URL stavlja adresu u uglaste zagrade pre dodavanja porta:

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

Bez zagrada granica između adrese i porta nije jasna. Aplikacija sa odvojenim poljima obično očekuje 2001:db8::10 kao host i 8080 kao port; pratite njen ulazni format. Obe adrese ovde su primeri za dokumentaciju, a ne aktivni proksiji.

Parsiranje URL-a umesto deljenja 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. Deljenje izvornog niza na svakoj dvotački pokvarilo bi ovaj primer. U stvarnom uvozniku odbijte i nedostajuće hostove, nepodržane šeme i portove izvan 1–65535. Parsiranje daje delove URL-a; ne dokazuje postojanje usluge.

Kada lista sadrži korisničko ime i lozinku

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

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

Povezani članci