Header HTTP tersuai dengan HttpClient

1. Gambaran keseluruhan

Dalam tutorial ini, kita akan melihat cara menetapkan header khusus dengan HttpClient.

Sekiranya anda ingin menggali lebih mendalam dan mengetahui perkara menarik lain yang boleh anda lakukan dengan HttpClient - teruskan ke tutorial HttpClient utama.

2. Tetapkan Header pada Permintaan - 4.3 dan Ke Atas

HttpClient 4.3 telah memperkenalkan cara baru untuk membina permintaan - RequestBuilder . Untuk menetapkan header, kami akan menggunakan kaedah setHeader - pada pembangun:

HttpClient client = HttpClients.custom().build(); HttpUriRequest request = RequestBuilder.get() .setUri(SAMPLE_URL) .setHeader(HttpHeaders.CONTENT_TYPE, "application/json") .build(); client.execute(request);

3. Tetapkan Header pada Permintaan - Sebelum 4.3

Dalam versi pra 4.3 dari HttpClient, kita dapat menetapkan header tersuai pada permintaan dengan panggilan setHeader sederhana atas permintaan:

HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(SAMPLE_URL); request.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); client.execute(request);

Seperti yang dapat kita lihat, kita menetapkan Content-Type secara langsung pada permintaan ke nilai khusus - JSON.

4. Tetapkan Header Lalai pada Pelanggan

Daripada menetapkan Header pada setiap permintaan, kami juga dapat mengkonfigurasinya sebagai header lalai pada Klien itu sendiri:

Header header = new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/json"); List headers = Lists.newArrayList(header); HttpClient client = HttpClients.custom().setDefaultHeaders(headers).build(); HttpUriRequest request = RequestBuilder.get().setUri(SAMPLE_URL).build(); client.execute(request);

Ini sangat berguna apabila header harus sama untuk semua permintaan - seperti header aplikasi khusus.

5. Kesimpulan

Artikel ini menggambarkan cara menambahkan header HTTP ke satu atau semua permintaan yang dikirimkan melalui Apache HttpClient.

Pelaksanaan semua contoh dan potongan kod ini boleh didapati di projek GitHub.