ការចូល proxy ជាកម្មសិទ្ធិរបស់អ្នកផ្ដល់ព័ត៌មានសម្ងាត់នៃការដឹកជញ្ជូន។ ជាមួយ 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 client។ ប្រើ rest ឡើងវិញសម្រាប់បន្ទុកការងារ ជាជាងបង្កើត template លំនាំដើមមួយទៀតនៅកន្លែងហៅ។

AuthScope កំណត់កន្លែងដែលព័ត៌មានសម្ងាត់នេះមានសុពលភាព។ ឧទាហរណ៍ផ្ដល់ព័ត៌មានសម្ងាត់ឈ្មោះអ្នកប្រើ/ពាក្យសម្ងាត់ធម្មតា; ឈ្មោះ BasicCredentialsProvider មិនបង្ខំឱ្យរាល់ការប្រឈមប្រើគ្រោងការ HTTP Basic ទេ។

ជាមួយគោលដៅ HTTPS ការដឹកជញ្ជូនអាចឆ្លើយតបនឹងការប្រឈមរបស់ proxy អំឡុង CONNECT មុនពេលសំណើ HTTP ដែលបានអ៊ិនគ្រីបរបស់កម្មវិធីមាន។ ឧបករណ៍ស្ទាក់ចាប់គោលដៅទូទៅដែលបន្ថែម Proxy-Authorization មិនស្មើនឹងការចរចានោះទេ។

កំណត់រចនាសម្ព័ន្ធគណនីគោលដៅណាមួយដោយឡែក។ ប្រសិនបើ proxy នៅតែបដិសេធសំណើ សូមរក្សាគ្រោងការផ្ទៀងផ្ទាត់ដែលវាប្រកាស និង host និង port ជាក់ស្តែង។ ព័ត៌មានសម្ងាត់ដែលកំណត់ចំពោះចំណុចបញ្ចប់ផ្សេងនឹងមិនត្រូវគ្នាដោយសារតែពាក្យសម្ងាត់ត្រឹមត្រូវនោះទេ។

អត្ថបទពាក់ព័ន្ធ