Apache HttpClient 5.5 કનેક્શન મેનેજરની સોકેટ સેટિંગ્સમાં SOCKS કન્ફિગરેશનનો માર્ગ સમાવે છે. તેનું જાળવાયેલું ઉદાહરણ setSocksProxyAddress વાપરે છે:

InetSocketAddress socks =
    new InetSocketAddress("proxy.example.net", 1080);

PoolingHttpClientConnectionManager manager =
    PoolingHttpClientConnectionManagerBuilder.create()
        .setDefaultSocketConfig(
            SocketConfig.custom()
                .setSocksProxyAddress(socks)
                .build()
        )
        .build();

CloseableHttpClient client = HttpClients.custom()
    .setConnectionManager(manager)
    .build();

આ ટુકડો HttpClient 5 ના org.apache.hc પેકેજો અને HttpCore ના SocketConfig વાપરે છે. આ ક્લાયન્ટ વડે કરાયેલી વિનંતીઓ ઉપર કન્ફિગર કરેલા પૂલનો ઉપયોગ કરે છે. એપ્લિકેશનની માલિકીનો વ્યાપ પૂરો થાય ત્યારે ક્લાયન્ટ બંધ કરો.

વેબસાઇટનું વાસ્તવિક URL જેમ હંમેશા હોય તેમ વિનંતી પર મૂકો. પ્રોક્સી પ્રમાણીકરણ વગરની મંજૂર જાહેર સાઇટ વિનંતીઓ માટે SOCKS પ્રોક્સી યાદી ઉમેદવાર સરનામાં આપે છે; વાસ્તવિક રનટાઇમ જે SOCKS આવૃત્તિને સમર્થન આપે તે પસંદ કરો. SOCKS સરનામું ત્યાં પહોંચવા માટે વપરાતા પરિવહનને કન્ફિગર કરે છે; તે HttpHost તરીકે આપેલો HTTP ફોરવર્ડ-પ્રોક્સી રૂટ નથી.

આ આ મેનેજર માટે ડિફૉલ્ટ સોકેટ સેટિંગ્સ છે. પ્રતિ-રૂટ SocketConfig રિઝોલ્વર વાપરતી એપ્લિકેશનને ઇચ્છિત SOCKS સેટિંગ તે નીતિ દ્વારા લાગુ કરવું જોઈએ. ઉદાહરણ કનેક્શન મેનેજરની સામાન્ય ગંતવ્ય DNS નીતિ જાળવે છે; દૂરસ્થ નામ રિઝોલ્યુશન માટે અલગથી ચકાસાયેલી રૂપરેખા જરૂરી છે.

સંબંધિત લેખો