Vlastná hlavička HTTP s HttpClient

1. Prehľad

V tomto tutoriáli sa pozrieme na to, ako nastaviť vlastnú hlavičku s HttpClient.

Ak chcete kopať hlbšie a naučte sa ďalšie super veci, ktoré môžete robiť s HttpClient - prejdite ďalej k hlavnému výukovému programu HttpClient.

2. Nastavte hlavičku na požiadanie - 4.3 a vyššie

HttpClient 4.3 predstavil nový spôsob vytvárania požiadaviek - RequestBuilder. Ak chcete nastaviť hlavičku, použijeme setHeader metóda - na staviteľovi:

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

3. Nastaviť hlavičku na požiadanie - do 4.3

Vo verziách HttpClient pred 4.3, môžeme nastaviť ľubovoľnú vlastnú hlavičku na žiadosť jednoduchým spôsobom setHeader volajte na požiadanie:

HttpClient klient = nový DefaultHttpClient (); HttpGet požiadavka = nový HttpGet (SAMPLE_URL); request.setHeader (HttpHeaders.CONTENT_TYPE, "application / json"); client.execute (žiadosť);

Ako vidíme, nastavujeme Druh obsahu priamo na požiadanie na vlastnú hodnotu - JSON.

4. Nastavte predvolenú hlavičku na klientovi

Namiesto nastavenia hlavičky na každú žiadosť, môžeme tiež nakonfigurovať ako predvolenú hlavičku na klientovi sám:

Header header = new BasicHeader (HttpHeaders.CONTENT_TYPE, "application / json"); Zoznam hlavičiek = Lists.newArrayList (hlavička); HttpClient klient = HttpClients.custom (). SetDefaultHeaders (hlavičky) .build (); HttpUriRequest request = RequestBuilder.get (). SetUri (SAMPLE_URL) .build (); client.execute (žiadosť);

To je mimoriadne užitočné, keď hlavička musí byť rovnaká pre všetky požiadavky - napríklad hlavička vlastnej aplikácie.

5. Záver

Tento článok ilustroval, ako pridať hlavičku HTTP k jednej alebo všetkým požiadavkám odoslaným prostredníctvom servera Apache HttpClient.

Implementáciu všetkých týchto príkladov a útržkov kódu nájdete v projekte GitHub.


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