Proxy IP ve Portu: Uygulamanız Hangi Biçimi İstiyor?
Proxy listesi kaydını HTTP veya SOCKS URL’sine dönüştürün, ayrı host ve port alanlarını doldurun ve IPv6 adreslerini doğru biçimlendirin.
Bazı uygulamalar IP:port ister. Diğerleri http:// veya socks5:// ile başlayan bir URL gerektirir. Tarayıcı ayarları adresle portu çoğunlukla ayrı alanlara koyar. Bu nedenle aynı uç nokta, adresi değişmeden birkaç biçimde görünebilir.
Bir IPv4 kaydı
Bir HTTP proxy listesinin örnek HTTP proxy olarak 203.0.113.10:8080 verdiğini varsayalım.
| Uygulamanın istediği | Girin |
|---|---|
| Host veya IP | 203.0.113.10 |
| Port | 8080 |
| HTTP proxy URL’si | http://203.0.113.10:8080 |
Portu iki kez yazmayın. Uygulamada zaten port alanı varsa host alanına 203.0.113.10:8080 yazmak, tüm dizgeyi host adı olarak çözümlemeye çalışmasına yol açabilir. Aynı şekilde, açıkça yalnızca IP adresi bekleyen bir alana şema eklemeyin.
Şema hizmetle eşleşmelidir. Adresi dönüştürmeden önce istemcinin desteğine göre HTTP veya SOCKS5 seçin. HTTP uç noktasının önüne socks5:// yazmak istemcinin gönderdiğini değiştirir; sunucuda SOCKS5’i etkinleştirmez.
URL içinde IPv6 için köşeli parantez gerekir
IPv6 adresi zaten iki nokta içerdiğinden URL, port eklenmeden önce adresi köşeli paranteze alır:
http://[2001:db8::10]:8080
socks5://[2001:db8::10]:1080
Parantez olmazsa adresle portun sınırı belirsizleşir. Ayrı alanları olan bir uygulama genellikle host olarak 2001:db8::10, port olarak 8080 ister; uygulamanın giriş biçimini izleyin. Buradaki iki adres de belge örneğidir, çalışan proxy değildir.
Her iki noktada bölmek yerine URL’yi ayrıştırın
Kısa bir Python betiği standart URL ayrıştırıcısıyla IPv4 ve parantezli IPv6 URL’lerini işleyebilir:
from urllib.parse import urlsplit
proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)
hostname özelliği adresi parantezsiz döndürür. Özgün dizgeyi her iki noktada bölmek bu örneği bozar. Gerçek bir içe aktarıcıda eksik hostları, desteklenmeyen şemaları ve 1–65535 dışındaki portları da reddedin. URL’yi ayrıştırmak bileşenlerini verir; hizmetin var olduğunu kanıtlamaz.
Listede kullanıcı adı ve parola varsa
Yaygın bir URL düzeni http://username:password@host:port biçimindedir. Kimlik bilgilerindeki @, # ve / gibi karakterler uygun URL kodlaması gerektirir. İstemci ayrı kimlik bilgisi alanları sunuyorsa bunları kullanmak genellikle URL’yi elle oluşturmaktan kolaydır.
İki noktayla ayrılmış kimlik bilgisi dizgesini dönüştürmeden önce sağlayıcının özgün biçimini kontrol edin. İki noktayla ayrılmış dört alanın evrensel anlamı yoktur; parolanın kendisi de iki nokta içerebilir. Basit IP:port satırları için tasarlanan ayrıştırıcı başka bir biçimi sessizce tahmin etmemelidir.