Bir SOCKS bağlantısı, proxy hedefi çözme şansı bulamadan yerel olarak başarısız olabilir. Kodunuzun soket adresini oluştururken hedefi çözüp çözmediğini kontrol edin.

Bir Java SOCKS soketi için hedef ana bilgisayar adını çözülmemiş bir hedef adresiyle koruyun:

Proxy proxy = new Proxy(Proxy.Type.SOCKS,
    new InetSocketAddress("203.0.113.10", 1080));
Socket socket = new Socket(proxy);
socket.connect(InetSocketAddress.createUnresolved(
    "destination.example", 443), 5000);

Uç nokta ve ana bilgisayar adı yer tutuculardır; izin verilen genel hedef testleri için kendi SOCKS5 hizmetinizi veya SOCKS5 proxy listesinden bir aday kullanın. Önemli fark, proxy'ye ulaşabilmeniz için onu çözmek ile SOCKS alışverişi için hedef adını korumak arasındadır.

Bağlandıktan sonra, bir HTTPS istemcisi yine de hedef ana bilgisayar adı için bir TLS oturumuna ihtiyaç duyar. Bir TLS sarmalayıcısı, proxy'nin ana bilgisayar adını eş kimliği olarak kullanmamalıdır.

Üst düzey kodu da kontrol edin: bir kitaplık, bağlayıcınızı çağırmadan önce kendi aramasını yapabilir. Bu soket adresinde bir ana bilgisayar adı korumak, uygulamanın başka bir yerinde yapılan bir aramayı geri alamaz.

İlgili makaleler