May mga app na nangangailangan ng IP:port. Ang iba ay nangangailangan ng URL na nagsisimula sa http:// o socks5://. Sa browser settings, madalas magkahiwalay ang field para sa address at port. Kaya maaaring lumitaw ang iisang endpoint sa ilang format nang hindi nagbabago ang address nito.

Isang IPv4 entry

Ipagpalagay na may HTTP proxy list na nagbibigay ng halimbawang HTTP proxy na 203.0.113.10:8080.

Hinihingi ng appIlagay
Host o IP203.0.113.10
Port8080
HTTP proxy URLhttp://203.0.113.10:8080

Huwag ilagay nang dalawang beses ang port. Kung may port box na ang app, ang paglalagay ng 203.0.113.10:8080 sa host box ay maaaring magpa-resolve sa buong string bilang hostname. Huwag ding magdagdag ng scheme sa field na tahasang IP address lang ang hinihingi.

Dapat tumugma ang scheme sa serbisyo. Pumili ng HTTP o SOCKS5 ayon sa suporta ng client bago i-convert ang address. Ang pagsulat ng socks5:// bago ang HTTP endpoint ay nagbabago sa ipinapadala ng client; hindi nito pinapagana ang SOCKS5 sa server na iyon.

Kailangan ng square bracket ang IPv6 sa URL

May colon na ang IPv6 address, kaya ikinukulong ng URL ang address sa square bracket bago idagdag ang port:

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

Kung walang bracket, malabo ang hangganan ng address at port. Karaniwang hinihingi ng app na may magkahiwalay na field ang 2001:db8::10 bilang host at 8080 bilang port; sundin ang input format nito. Parehong halimbawa para sa dokumentasyon ang mga address dito, hindi mga aktibong proxy.

I-parse ang URL sa halip na hatiin sa bawat colon

Kayang hawakan ng maikling Python script ang IPv4 URL at IPv6 URL na may bracket gamit ang karaniwang URL parser:

from urllib.parse import urlsplit

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

Ibinabalik ng hostname property ang address nang walang bracket. Masisira ang halimbawang ito kung hahatiin ang orihinal na string sa bawat colon. Sa tunay na importer, tanggihan din ang nawawalang host, hindi suportadong scheme, at port sa labas ng 1–65535. Ibinibigay ng pag-parse ang mga bahagi ng URL; hindi nito pinatutunayang umiiral ang serbisyo.

Kapag may username at password ang listahan

Karaniwang ayos ng URL ang http://username:password@host:port. Kailangan ng wastong URL encoding ang mga character tulad ng @, #, at / sa credentials. Kung may magkahiwalay na credential field ang client, karaniwang mas madaling gamitin ang mga iyon kaysa bumuo ng URL nang mano-mano.

Suriin ang orihinal na format ng provider bago i-convert ang credential string na pinaghiwalay ng colon. Walang pangkalahatang kahulugan ang apat na field na pinaghiwalay nang ganito, at maaaring may colon mismo ang password. Hindi dapat tahimik na manghula ng ibang format ang parser para sa simpleng IP:port line.

Kaugnay na mga artikulo