Egyes alkalmazások IP:port formátumot kérnek. Másoknak http:// vagy socks5:// kezdetű URL kell. A böngésző beállításai gyakran külön mezőbe teszik a címet és a portot. Ugyanaz a végpont így több formátumban jelenhet meg a címe változása nélkül.

Egy IPv4-bejegyzés

Tegyük fel, hogy egy HTTP-proxylista a 203.0.113.10:8080 példabeli HTTP-proxyt adja meg.

Az alkalmazás ezt kériEzt írja be
Gazdagép vagy IP203.0.113.10
Port8080
HTTP-proxy URL-jehttp://203.0.113.10:8080

Ne adja meg kétszer a portot. Ha már van külön portmező, a gazdagépmezőbe írt 203.0.113.10:8080 miatt az alkalmazás megpróbálhatja az egész karakterláncot gazdagépnévként feloldani. Ugyanígy ne adjon sémát olyan mezőhöz, amely kifejezetten csak IP-címet vár.

A sémának a szolgáltatáshoz kell illenie. A cím átalakítása előtt válasszon HTTP-t vagy SOCKS5-öt az ügyfél támogatása alapján. A HTTP-végpont elé írt socks5:// megváltoztatja, mit küld az ügyfél; nem kapcsolja be a SOCKS5-öt a kiszolgálón.

Az IPv6-címet az URL-ben szögletes zárójelbe kell tenni

Az IPv6-cím már tartalmaz kettőspontokat, ezért az URL a port hozzáadása előtt szögletes zárójelbe foglalja a címet:

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

Zárójel nélkül a cím és a port határa nem egyértelmű. A külön mezős alkalmazás általában 2001:db8::10 értéket vár gazdagépként és 8080 értéket portként; kövesse az alkalmazás bemeneti formátumát. Mindkét itteni cím dokumentációs példa, nem működő proxy.

URL-elemzés a kettőspontonkénti felosztás helyett

Egy rövid Python-szkript a szabványos URL-elemzővel kezelheti az IPv4-es és a zárójelezett IPv6-os URL-eket:

from urllib.parse import urlsplit

proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)

A hostname tulajdonság zárójelek nélkül adja vissza a címet. Az eredeti karakterlánc felosztása minden kettőspontnál elrontaná ezt a példát. Valós importálóban utasítsa el a hiányzó gazdagépeket, a nem támogatott sémákat és az 1–65535 tartományon kívüli portokat is. Az URL elemzése annak részeit adja meg; nem bizonyítja a szolgáltatás létezését.

Ha a listában felhasználónév és jelszó is szerepel

Gyakori URL-elrendezés a http://username:password@host:port. A hitelesítő adatokban az @, # és / jellegű karakterek megfelelő URL-kódolást igényelnek. Ha az ügyfél külön hitelesítőadat-mezőket kínál, azokat általában könnyebb használni, mint kézzel összeállítani az URL-t.

A kettőspontokkal tagolt hitelesítőadat-sor átalakítása előtt ellenőrizze a szolgáltató eredeti formátumát. Négy ilyen mezőnek nincs egyetemes jelentése, és maga a jelszó is tartalmazhat kettőspontot. Az egyszerű IP:port sorokra tervezett elemző ne találgasson észrevétlenül más formátumot.

Kapcsolódó cikkek