IP dan Port Proxy: Format Apa yang Dibutuhkan Aplikasi Anda?
Ubah entri daftar proxy menjadi URL HTTP atau SOCKS, isi kolom host dan port terpisah, dan format alamat IPv6 dengan benar.
Sebagian aplikasi meminta IP:port. Yang lain memerlukan URL berawalan http:// atau socks5://. Pengaturan browser sering memisahkan alamat dan port dalam kolom berbeda. Jadi, endpoint yang sama bisa tampil dalam beberapa format tanpa mengubah alamatnya.
Entri IPv4
Misalnya, sebuah daftar proxy HTTP memberikan contoh proxy HTTP 203.0.113.10:8080.
| Yang diminta aplikasi | Masukkan |
|---|---|
| Host atau IP | 203.0.113.10 |
| Port | 8080 |
| URL proxy HTTP | http://203.0.113.10:8080 |
Jangan masukkan port dua kali. Jika aplikasi sudah memiliki kolom port, menaruh 203.0.113.10:8080 di kolom host bisa membuatnya mencoba me-resolve seluruh string sebagai nama host. Demikian pula, jangan tambahkan skema ke kolom yang secara tegas hanya menerima alamat IP.
Skema harus sesuai dengan layanan. Pilih HTTP atau SOCKS5 berdasarkan dukungan klien sebelum mengubah alamat. Menulis socks5:// di depan endpoint HTTP mengubah apa yang dikirim klien; bukan mengaktifkan SOCKS5 pada server tersebut.
IPv6 memerlukan kurung siku dalam URL
Alamat IPv6 sudah mengandung titik dua, jadi URL mengapit alamat dengan kurung siku sebelum menambahkan port:
http://[2001:db8::10]:8080
socks5://[2001:db8::10]:1080
Tanpa kurung siku, batas alamat dan port menjadi ambigu. Aplikasi dengan kolom terpisah biasanya meminta 2001:db8::10 sebagai host dan 8080 sebagai port; ikuti format masukannya. Kedua alamat di sini adalah contoh dokumentasi, bukan proxy aktif.
Parse URL, jangan pisahkan pada setiap titik dua
Skrip Python kecil dapat menangani URL IPv4 dan IPv6 berkurung siku dengan parser URL standar:
from urllib.parse import urlsplit
proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)
Properti hostname mengembalikan alamat tanpa kurung siku. Memisahkan string asli pada setiap titik dua akan merusak contoh ini. Pada pengimpor nyata, tolak juga host yang kosong, skema yang tidak didukung, dan port di luar 1–65535. Mem-parse URL memberikan komponennya; bukan membuktikan bahwa layanan itu ada.
Jika daftar memuat nama pengguna dan kata sandi
Format URL yang umum adalah http://username:password@host:port. Karakter seperti @, #, dan / dalam kredensial harus diberi pengodean URL yang tepat. Jika klien menyediakan kolom kredensial terpisah, biasanya lebih mudah memakai kolom itu daripada merangkai URL secara manual.
Periksa format asli penyedia sebelum mengubah string kredensial yang dipisahkan titik dua. Empat kolom yang dipisahkan titik dua tidak memiliki arti universal, dan kata sandi sendiri bisa mengandung titik dua. Parser untuk baris IP:port sederhana tidak boleh diam-diam menebak format lain.