Egyéni HTTP fejléc a HttpClient segítségével

1. Áttekintés

Ebben az oktatóanyagban megvizsgáljuk, hogyan állíthatunk be egyéni fejlécet a HttpClient segítségével.

Ha mélyebbre akarsz ásni és megtanulhat további jó dolgokat, amelyeket a HttpClient segítségével tehet - menjen át a fő HttpClient oktatóanyagra.

2. Állítsa be a fejlécet kérésre - 4.3 és fent

A HttpClient 4.3 új módszert vezetett be a kérések összeállításában - a RequestBuilder. Fejléc beállításához használjuk a setHeader módszer - az építtetőn:

HttpClient kliens = HttpClients.custom (). Build (); HttpUriRequest kérés = RequestBuilder.get () .setUri (SAMPLE_URL) .setHeader (HttpHeaders.CONTENT_TYPE, "alkalmazás / json") .build (); client.execute (kérés);

3. Állítsa be a fejlécet kérésre - 4.3 előtt

A HttpClient 4.3 előtti verzióiban, bármely egyedi fejlécet beállíthatunk kérésre egy egyszerűvel setHeader felhívás a kérésre:

HttpClient kliens = new AlapértelmezettHttpClient (); HttpGet kérés = új HttpGet (SAMPLE_URL); request.setHeader (HttpHeaders.CONTENT_TYPE, "alkalmazás / json"); client.execute (kérés);

Mint láthatjuk, beállítjuk a Tartalom típus közvetlenül az egyedi értékre vonatkozó kérésre - JSON.

4. Állítsa be az alapértelmezett fejlécet az ügyfélen

Ahelyett, hogy a fejlécet minden egyes kérésre beállítanánk, mi is megtehetjük konfigurálja alapértelmezett fejlécként az ügyfélen maga:

Fejlécfejléc = new BasicHeader (HttpHeaders.CONTENT_TYPE, "application / json"); Listafejlécek = Lists.newArrayList (fejléc); HttpClient kliens = HttpClients.custom (). SetDefaultHeaders (fejlécek) .build (); HttpUriRequest kérés = RequestBuilder.get (). SetUri (SAMPLE_URL) .build (); client.execute (kérés);

Ez rendkívül hasznos, ha a fejlécnek minden kérelem esetében azonosnak kell lennie - például egy egyedi alkalmazás fejlécéhez.

5. Következtetés

Ez a cikk bemutatta, hogyan lehet hozzáadni egy HTTP fejlécet az Apache HttpClienten keresztül küldött kérelmekhez.

Mindezen példák és kódrészletek megvalósítása megtalálható a GitHub projektben.


$config[zx-auto] not found$config[zx-overlay] not found