import java.net.InetSocketAddress;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.client5.http.impl.async.HttpAsyncClients;

var reactor = IOReactorConfig.custom()
    .setSocksProxyAddress(new InetSocketAddress("proxy.example", 1080))
    .build();
var client = HttpAsyncClients.custom()
    .setIOReactorConfig(reactor)
    .build();
client.start();

필요한 비동기 요청은 이 클라이언트로 보내고 실제 대상 URI는 그대로 유지하세요. 작업하는 동안 클라이언트를 유지한 뒤 끝나면 닫으세요. 허용된 공개 대상 요청에는 SOCKS 프록시 목록에서 호스트와 포트 후보를 얻을 수 있습니다. reactor가 지원하는 SOCKS 버전에 맞추세요.

이 비동기 소켓 경로는 reactor가 제어합니다. HTTP HttpHost 프록시 경로나 기존 연결 관리자의 SocketConfig는 다른 인터페이스입니다.

지원되는 SOCKS 사용자 이름/비밀번호 인증을 사용하려면 reactor builder에 setSocksProxyUsername와 setSocksProxyPassword도 설정하세요. 요청 실행 중에 공유 설정을 바꾸지 말고 start 전에 설정을 마치세요.

관련 글