Проксиге кирүү транспорттун билдирүү провайдерине таандык. Spring 6 жана Apache HttpClient 5 үчүн бул аккаунтту ортомчуга чектеңиз:

var proxy = new org.apache.hc.core5.http.HttpHost(
    "http", "proxy.example", 8080);
var credentials = new org.apache.hc.client5.http.impl.auth
    .BasicCredentialsProvider();
credentials.setCredentials(
    new org.apache.hc.client5.http.auth.AuthScope(proxy),
    new org.apache.hc.client5.http.auth.UsernamePasswordCredentials(
        proxyUser, proxyPassword.toCharArray()));

var http = org.apache.hc.client5.http.impl.classic.HttpClients.custom()
    .setProxy(proxy)
    .setDefaultCredentialsProvider(credentials)
    .build();
var factory = new org.springframework.http.client
    .HttpComponentsClientHttpRequestFactory(http);
var rest = new org.springframework.web.client.RestTemplate(factory);

Колдонмо proxyUser жана proxyPassword маанилерин берет жана HTTP кардарынын жашоо циклин ээлейт. Чакыруу ордунда дагы бир демейки шаблон куруунун ордуна жумуш жүгү үчүн restти кайра колдонуңуз.

AuthScope бул билдирүүлөр кайда жарактуу экенин чектейт. Мисал кадимки колдонуучу аты/сырсөз билдирүүлөрүн берет; BasicCredentialsProvider деген ат ар бир чакырыкты HTTP Basic схемасын колдонууга мажбурлабайт.

HTTPS багыты менен транспорт CONNECT учурунда прокси чакырыгына жооп бере алат, колдонмонун шифрленген HTTP сурамы пайда боло электе. Proxy-Authorization кошкон жалпы багыт интерцептору бул сүйлөшүүгө барабар эмес.

Ар кандай багыт аккаунтун өзүнчө конфигурациялаңыз. Эгер прокси сурамды дагы эле четке какса, анын жарыялаган аутентификация схемасын жана иш жүзүндөгү хост менен портту сактаңыз. Башка акыркы чекитке чектелген билдирүү сырсөз туура болгондуктан гана дал келбейт.

Тектеш макалалар