Di Fluent API Apache HttpClient 5, Request dapat memilih proxy sementara Executor menyediakan akunnya. Jalankan permintaan melalui objek berkredensial itu:

HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
    .auth(proxy, proxyUser, proxyPassword.toCharArray());

String body = executor.execute(
        Request.get("https://www.example.com/").viaProxy(proxy))
    .returnContent()
    .asString();

Executor dan Request berasal dari org.apache.hc.client5.http.fluent; HttpHost dari org.apache.hc.core5.http. Variabel akun berasal dari konfigurasi aplikasi.

Kedua penggunaan proxy sengaja menggambarkan host dan port yang sama. viaProxy memilih rute, sedangkan auth mendaftarkan kredensial untuk perantara itu di Executor. Jika hasil akhirnya tetap 407, bandingkan rute yang dipilih dengan cakupan kredensial.

Memanggil metode execute praktis milik Request terpisah akan memakai jalur eksekusi lain. Pertahankan Executor berkredensial tetap terpasang pada operasi, seperti pada contoh, agar klien yang menerima tantangan memiliki akun yang dikonfigurasi.

Contoh menggunakan antarmuka kata sandi char-array 5.x. Cuplikan HttpClient 4 Fluent yang lebih lama memakai paket dan tanda tangan metode berbeda. Saat permintaan selesai, returnContent mengonsumsi entitas respons dan melepaskan koneksinya untuk dipakai ulang.

Artikel terkait