SOCKS এণ্ডপইণ্টে আপোনাক ৱেবছাইটলৈ লৈ যায়। সেই সংযোগৰ ভিতৰৰ TLS পিয়াৰটো ৱেবছাইট নিজেই, গতিকে গন্তব্যৰ হ’ষ্টনাম স্তৰযুক্ত চকেট ফেক্টৰীলৈ পাছ কৰক:

String destination = "example.com";
int destinationPort = 443;
Proxy proxy = new Proxy(
    Proxy.Type.SOCKS,
    new InetSocketAddress("127.0.0.1", 1080)
);

try (Socket transport = new Socket(proxy)) {
    transport.connect(
        InetSocketAddress.createUnresolved(destination, destinationPort),
        5000
    );
    SSLSocketFactory factory =
        (SSLSocketFactory) SSLSocketFactory.getDefault();
    try (SSLSocket tls = (SSLSocket) factory.createSocket(
            transport, destination, destinationPort, true)) {
        SSLParameters parameters = tls.getSSLParameters();
        parameters.setEndpointIdentificationAlgorithm("HTTPS");
        tls.setSSLParameters(parameters);
        tls.setSoTimeout(15000);
        tls.startHandshake();
        // Send the application's HTTPS request through tls.
    }
}

এই টুকুৰাই মানক Java নেটৱৰ্কিং আৰু TLS আমদানি, এটা বিদ্যমান ডিফল্ট ট্ৰাষ্ট কনফিগাৰেচন আৰু প্ৰক্সি ক্ৰেডেন্সিয়েল নোলগা SOCKS সংযোগ ধৰি লয়। ই হেণ্ডশ্বেক সম্পন্ন কৰে; এপ্লিকেশ্বনে এতিয়াও চাৰ্ভাৰে আশা কৰা বিন্যাসত HTTP অনুৰোধ পঠিয়াব লাগিব। অনুমোদিত ৰাজহুৱা পথত ৰাজহুৱা HTTPS লক্ষ্যৰ বাবে SOCKS প্ৰক্সি তালিকাই প্ৰাৰ্থী এণ্ডপইণ্ট আগবঢ়ায়; চাৰ্ভাৰৰ সংস্কৰণ আৰু হ’ষ্টনাম সমৰ্থন এই Java চকেট পথৰ সৈতে মিলাওক।

উদাহৰণত দুয়োটা পৰিচয় পঢ়ক

127.0.0.1:1080 হৈছে প্ৰক্সি এণ্ডপইণ্ট, এই Java প্ৰক্ৰিয়াৰ পৰা উপলব্ধ। destination আৰু destinationPort ৱেবছাইটটো চিনাক্ত কৰে। createUnresolved ক্লায়েণ্টত আগতীয়াকৈ সমাধান নকৰি SOCKS পথৰ বাবে সেই হ’ষ্টনাম ৰাখে।

স্তৰযুক্ত createSocket এ গন্তব্যৰ পৰিচয় লাভ কৰে। setEndpointIdentificationAlgorithm("HTTPS") এ স্পষ্টভাৱে ইয়াৰ হ’ষ্টনাম পৰীক্ষা অনুৰোধ কৰে। এটা কেঁচা SSLSocket ৰ চাৰ্টিফিকেট-শৃংখল ট্ৰাষ্টে নিজেই হ’ষ্টনাম সত্যাপন সক্ৰিয় বুলি প্ৰমাণ নকৰে। অসঙ্গতি দমাবলৈ প্ৰক্সিৰ নাম বা লুপবেক সলনি কৰিলে ভুল এণ্ডপইণ্ট প্ৰমাণিত হ’ব পাৰে।

ট্ৰাষ্ট আৰু পৰিষ্কাৰ কৰা নিজৰ পৰ্যায়ত ৰাখক

ডিফল্ট ফেক্টৰীয়ে JVM ৰ সংৰচিত ট্ৰাষ্ট ব্যৱস্থা ব্যৱহাৰ কৰে। ব্যক্তিগত প্ৰয়োজনীয়তা থকা এপ্লিকেশ্বনে ইয়াৰ পৰিৱৰ্তে যথাযথভাৱে আৰম্ভ কৰা SSLContext ফেক্টৰী ব্যৱহাৰ কৰিব পাৰে। সেই বাছনি SOCKS পথৰ পৰা পৃথক; প্ৰতিটো চাৰ্টিফিকেট গ্ৰহণ কৰা ট্ৰাষ্ট মেনেজাৰে ভুল পিয়াৰ নাম ঠিক নকৰে।

SOCKS প্ৰত্যাখ্যান TLS ৰ আগতে ঘটি থাকে; অবিশ্বাসযোগ্য চাৰ্টিফিকেট বা ভুল হ’ষ্টনাম TLS ৰ সময়ত বিফল হয়; তাৰ পিছত HTTP ত্ৰুটি আহিব পাৰে। প্ৰক্সি লগইনে টানেল অনুৰোধ অনুমোদন কৰে, ভিতৰৰ ৱেবছাইট প্ৰমাণ নকৰে।

স্বয়ংক্ৰিয়-বন্ধ সক্ৰিয় কৰি স্তৰযুক্ত চকেট বন্ধ কৰিলে ইয়াৰ পৰিবহন বন্ধ হয়। বাহিৰৰ সম্পদ পৰিসৰেও সেই পৰিবহন বন্ধ কৰে যদি সাধাৰণ সমাপ্তিৰ আগতে মেৰিয়াই লোৱা বা হেণ্ডশ্বেক বিফল হয়।

সম্পৰ্কিত প্ৰবন্ধ