የ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 networking እና TLS ማስገቢያዎችን፣ ነባር ነባሪ የመታመኛ ውቅርን እና የፕሮክሲ ምስክርነት የማይፈልግ የSOCKS ግንኙነትን ይወስዳል። ማጽናኛውን ያከናውናል፤ አፕሊኬሽኑ አሁንም አገልጋዩ በሚጠብቀው ቅርጸት የHTTP ጥያቄ መላክ አለበት። በተፈቀዱ የህዝብ መንገዶች ላይ ለሚገኙ የህዝብ HTTPS ዒላማዎች የSOCKS ፕሮክሲ ዝርዝር ተመራጭ መጨረሻ ነጥቦችን ያቀርባል፤ የአገልጋዩን ስሪት እና የአስተናጋጅ ስም ድጋፍ ከዚህ የJava ሶኬት መንገድ ጋር ያዛምዱ።

በምሳሌው ውስጥ ያሉትን ሁለቱን ማንነቶች ያንብቡ

127.0.0.1:1080 የፕሮክሲ መጨረሻ ነጥብ ነው፣ ከዚህ የJava ሂደት ይደረስበታል። destination እና destinationPort ድረ-ገጹን ይለያሉ። createUnresolved ስሙን ለSOCKS መንገድ ይይዛል፣ በደንበኛው ላይ አስቀድሞ ከመቀየር ይልቅ።

ተደራራቢው createSocket የመድረሻውን ማንነት ይቀበላል። setEndpointIdentificationAlgorithm("HTTPS") የአስተናጋጅ ስም ፍተሻዎቹን በግልጽ ይጠይቃል። ጥሬ SSLSocket ያለው የሰርተፍኬት ሰንሰለት መታመን በራሱ የአስተናጋጅ ስም ማረጋገጫ መንቃቱን አያረጋግጥም። አለመመጣጠንን ለማፈን የፕሮክሲውን ስም ወይም loopback መተካት ስህተት የሆነውን መጨረሻ ነጥብ ሊያረጋግጥ ይችላል።

መታመንንና ማጽዳትን ከየደረጃዎቻቸው ጋር ያቆዩ

ነባሪው ፋብሪካ በJVM የተዋቀረውን የመታመኛ አደረጃጀት ይጠቀማል። የግል መስፈርቶች ያሉት አፕሊኬሽን በተገቢው የተጀመረውን SSLContext ፋብሪካ መጠቀም ይችላል። ያ ምርጫ ከSOCKS መንገድ የተለየ ነው፤ ሁሉንም ሰርተፍኬት የሚቀበል የመታመኛ አስተዳዳሪ የተሳሳተ የአጋር ስም አያስተካክልም።

የSOCKS እምቢታ ከTLS በፊት ይከሰታል፤ የማይታመን ሰርተፍኬት ወይም የተሳሳተ አስተናጋጅ ስም በTLS ወቅት ይወድቃል፤ ከዚያ በኋላ የHTTP ስህተት ሊከተል ይችላል። የፕሮክሲ መግቢያ የዋሻውን ጥያቄ ያስፈቅዳል፣ በውስጡ ያለውን ድረ-ገጽ አያረጋግጥም።

ተደራራቢውን ሶኬት በራስ-መዝጋት መዝጋት ተሸካሚውን ይዘጋል። የውጭው ምንጭ ወሰንም መጠቅለያው ወይም ማጽናኛው ከመደበኛ ማጠናቀቅ በፊት ቢወድቅ ተሸካሚውን ይዘጋል።

ተዛማጅ ጽሑፎች