Как установить учетные данные для прокси Unirest?
Документация для Unirest о настройках прокси упоминает:
Unirest.setProxy (новый HttpHost("127.0.0.1", 8000));
Поскольку прокси-сервер, который я использую, требует аутентификации, мне также необходимо указать учетные данные, но я не понимаю, как это сделать.
1 ответ
Решение
Я решил это, установив пользовательский клиент вместо прокси.
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());