IP i port proxyja: koji format treba vašoj aplikaciji?
Pretvorite unos s liste proxyja u HTTP ili SOCKS URL, popunite zasebna polja hosta i porta te pravilno formatirajte IPv6 adrese.
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ži | Unesite |
|---|---|
| Host ili IP | 203.0.113.10 |
| Port | 8080 |
| URL HTTP proxyja | http://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.