2016-11-29 4 views
5

Документация для Unirest о настройках прокси упоминает использование:Как установить учетные данные для прокси-сервера Unirest?

Unirest.setProxy (новый HttpHost ("127.0.0.1", 8000));

Поскольку прокси-сервер, который я использую, требует аутентификации, мне также нужно будет указать учетные данные, но я не вижу, как это сделать.

ответ

6

Я решил настроить пользовательский клиент вместо прокси.

HttpClientBuilder clientBuilder = HttpClientBuilder.create(); 


    CredentialsProvider credsProvider = new BasicCredentialsProvider(); 

    credsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(USERNAME, PASSWORD)); 

    clientBuilder.useSystemProperties(); 

    clientBuilder.setProxy(new HttpHost(HOST, PORT)); 
      clientBuilder.setDefaultCredentialsProvider(credsProvider); 
clientBuilder.setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy()); 


Lookup<AuthSchemeProvider> authProviders = RegistryBuilder.<AuthSchemeProvider>create() 
        .register(AuthSchemes.BASIC, new BasicSchemeFactory()) 
        .build(); 
      clientBuilder.setDefaultAuthSchemeRegistry(authProviders); 


    Unirest.setClient(clientBuilder.build());