Tilpasset HTTP-topptekst med HttpClient
1. Oversikt
I denne opplæringen vil vi se på hvordan du setter et tilpasset overskrift med HttpClient.
Hvis du vil grave dypere og lære andre kule ting du kan gjøre med HttpClient - gå videre til HttpClient-hovedveiledningen.
2. Sett topptekst på forespørsel - 4.3 og over
HttpClient 4.3 har introdusert en ny måte å bygge forespørsler på - the RequestBuilder. For å sette en overskrift, vi bruker setHeader metode - på byggherren:
HttpClient-klient = HttpClients.custom (). Build (); HttpUriRequest request = RequestBuilder.get () .setUri (SAMPLE_URL) .setHeader (HttpHeaders.CONTENT_TYPE, "application / json") .build (); client.execute (forespørsel);
3. Sett topptekst på forespørsel - Før 4.3
I versjoner før 4.3 av HttpClient, vi kan angi hvilken som helst tilpasset overskrift på forespørsel med en enkel setHeader ring på forespørselen:
HttpClient-klient = ny DefaultHttpClient (); HttpGet forespørsel = ny HttpGet (SAMPLE_URL); request.setHeader (HttpHeaders.CONTENT_TYPE, "application / json"); client.execute (forespørsel);
Som vi ser, setter vi inn Innholdstype direkte på forespørselen til en tilpasset verdi - JSON.
4. Sett standard overskrift på klienten
I stedet for å sette overskriften på hver forespørsel, kan vi også konfigurer det som standard overskrift på klienten seg selv:
Toppteksthode = ny BasicHeader (HttpHeaders.CONTENT_TYPE, "application / json"); List headers = Lists.newArrayList (header); HttpClient-klient = HttpClients.custom (). SetDefaultHeaders (headers) .build (); HttpUriRequest forespørsel = RequestBuilder.get (). SetUri (SAMPLE_URL) .build (); client.execute (forespørsel);
Dette er ekstremt nyttig når overskriften må være den samme for alle forespørsler - for eksempel en tilpasset applikasjonsoverskrift.
5. Konklusjon
Denne artikkelen illustrerte hvordan du legger til en HTTP-overskrift til en eller alle forespørsler som sendes via Apache HttpClient.
Implementeringen av alle disse eksemplene og kodebiter finner du i GitHub-prosjektet.