3
NTLM 프록시를 사용하여 저지 클라이언트 호출을하려고합니까? 나는 그것에 대한 명확한 정보를 얻을 수 없었기 때문에 가능한 것입니다. 전에 시도한 사람이 있습니까?Jersey 클라이언트가 NTLM 프록시를 지원합니까?
NTLM 프록시를 사용하여 저지 클라이언트 호출을하려고합니까? 나는 그것에 대한 명확한 정보를 얻을 수 없었기 때문에 가능한 것입니다. 전에 시도한 사람이 있습니까?Jersey 클라이언트가 NTLM 프록시를 지원합니까?
예 NTLM 인증이 필요한 프록시 서버를 통해 Jersey Client에 연결하도록 구성 할 수 있습니다.
final ClientConfig config = new ClientConfig();
config.property(ClientProperties.PROXY_URI, "http://myproxy.com:8000");
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
final AuthScope ntlmAuthScope =
new AuthScope("myproxy.com", 8000, AuthScope.ANY_REALM, "NTLM");
credentialsProvider.setCredentials(
ntlmAuthScope,
new NTCredentials("user", "password", "hostname", "domain"));
config.property(
ApacheClientProperties.CREDENTIALS_PROVIDER, credentialsProvider);
config.connectorProvider(new ApacheConnectorProvider());
Client client = ClientBuilder.newClient(config);
주의 사항 : 여기
이 저지 V2.5 +와 함께 작동해야 적절한ClientConfig
준비하는 간단한 코드입니다 내가 저지 클라이언트와 아파치 HttpClient를 커넥터를 사용하고를 - 당신은 약간 필요할 수 있습니다
another client transport connector을 사용하는 경우 다른 코드.
:
당신은 또한 당신의 POST/PUT 요청을 프록시 서버에서 돌아 오는 모든 407 개 인증 도전에 대한 응답으로 버퍼 (따라서 반복)되도록하려면 코드에 다음 줄을 추가해야 할 수 있습니다
config.property(ClientProperties.REQUEST_ENTITY_PROCESSING,
RequestEntityProcessing.BUFFERED);
내가 제안 된 솔루션을 시도하지만 난 형태의 게시물한다면 :.. client.target (...)를 요청()을 포스트 (...) 에는 "인증"헤더가 첨부되지 않았습니다됩니다 내 의뢰. 내가 뭔가 잘못하고 있는거야? – finrod