IP i port proxyja: koji format treba vašoj aplikaciji?
Pretvorite unos s popisa proxyja u HTTP ili SOCKS URL, ispunite zasebna polja hosta i porta te pravilno oblikujte IPv6 adrese.
Neke aplikacije traže IP:port. Druge trebaju URL koji počinje s http:// ili socks5://. Postavke preglednika često odvajaju adresu i port u različita polja. Ista krajnja točka zato može imati više oblika bez promjene adrese.
IPv4 unos
Pretpostavimo da popis 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 odaberite HTTP ili SOCKS5 prema podršci klijenta. Pisanje socks5:// ispred HTTP krajnje točke mijenja ono što klijent šalje; ne uključuje SOCKS5 na tom poslužitelju.
IPv6 u URL-u zahtijeva uglate zagrade
IPv6 adresa već sadrži dvotočke pa URL stavlja adresu u uglate 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 sa zasebnim poljima obično traži 2001:db8::10 kao host i 8080 kao port; slijedite njezin ulazni format. Obje adrese ovdje su dokumentacijski primjeri, a ne aktivni proxyji.
Raščlanjujte URL-ove umjesto dijeljenja na svakoj dvotoč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 dvotočki pokvarilo bi ovaj primjer. U stvarnom uvozniku odbijte i nedostajuće hostove, nepodržane sheme i portove izvan 1–65535. Raščlanjivanje daje dijelove URL-a; ne dokazuje postojanje usluge.
Kada popis sadrži korisničko ime i lozinku
Čest raspored URL-a je http://username:password@host:port. Znakovi poput @, # i / u vjerodajnicama zahtijevaju pravilno URL kodiranje. Ako klijent nudi zasebna polja za vjerodajnice, obično ih je lakše upotrijebiti nego ručno sastavljati URL.
Prije pretvaranja niza vjerodajnica odvojenih dvotočkama provjerite izvorni format pružatelja. Četiri tako odvojena polja nemaju univerzalno značenje, a i sama lozinka može sadržavati dvotočku. Parser jednostavnih redaka IP:port ne smije prešutno nagađati drugi format.