Apache HttpClient 5.5 inneheld ein SOCKS-konfigurasjonsveg i socket-innstillingane til tilkoplingshandsamaren. Det vedlikehalde dømet nyttar 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();

Utdraget nyttar org.apache.hc-pakka til HttpClient 5 og SocketConfig til HttpCore. Førespurnader som blir gjorde med denne klienten, nyttar samlinga som er konfigurert ovanfor. Lat klienten att når eigarskapsområdet til applikasjonen tek slutt.

Set den faktiske URL-en til nettstaden på førespurnaden som vanleg. For tillatne førespurnader til offentlege nettstader utan proxy-autentisering tilbyr SOCKS-proxylista kandidatadresser; vel ein SOCKS-versjon som det faktiske køyremiljøet støttar. SOCKS-adressa konfigurerer transporten som blir nytta for å nå ho; det er ikkje ei HTTP-vidaresendingsproxyrute gitt som ein HttpHost.

Dette er standard socket-innstillingar for denne handsamaren. Ein applikasjon som nyttar ein SocketConfig-løysar per rute, bør i staden bruke den ønskte SOCKS-innstillinga gjennom denne retningslinja. Dømet held på den vanlege DNS-retningslinja til tilkoplingshandsamaren for målet; fjernnamnoppslag krev ein separat verifisert konfigurasjon.

Relaterte artiklar