Mae Apache HttpClient 5.5 yn cynnwys llwybr ffurfweddu SOCKS yng ngosodiadau soced y rheolwr cysylltiadau. Mae ei enghraifft a gynhelir yn defnyddio 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();

Mae'r darn yn defnyddio pecynnau org.apache.hc HttpClient 5 a SocketConfig HttpCore. Mae ceisiadau a wneir gyda'r cleient hwn yn defnyddio'r pwll a ffurfweddwyd uchod. Caewch y cleient pan fo cwmpas perchnogaeth y rhaglen yn dod i ben.

Rhowch URL gwirioneddol y wefan ar y cais fel arfer. Ar gyfer ceisiadau a ganiateir i safleoedd cyhoeddus heb ddilysu dirprwy, mae'r rhestr dirprwy SOCKS yn cynnig cyfeiriadau ymgeisiol; dewiswch fersiwn SOCKS a gefnogir gan yr amgylchedd rhedeg gwirioneddol. Mae'r cyfeiriad SOCKS yn ffurfweddu'r cludiant a ddefnyddir i'w gyrraedd; nid yw'n llwybr dirprwy ymlaen HTTP a roddir fel HttpHost.

Dyma osodiadau soced rhagosodedig y rheolwr hwn. Dylai rhaglen sy'n defnyddio datryswr SocketConfig fesul llwybr gymhwyso'r gosodiad SOCKS a ddymunir drwy'r polisi hwnnw yn lle hynny. Mae'r enghraifft yn cadw polisi DNS cyrchfan arferol y rheolwr cysylltiadau; mae datrys enwau o bell yn gofyn am ffurfweddiad a wirwyd ar wahân.

Erthyglau cysylltiedig