Prilagođeni korisnički agent u HttpClientu 4

1. Pregled

Pokazat će ovaj brzi vodič kako poslati običaj Korisnički agent zaglavlje pomoću Apache HttpClient 4.

2. Postavljanje Korisnički agent na HttpClient

2.1. Prije HttpClienta 4.3

Kada radite sa starijim verzijama Http klijenta (pre 4.3), postavljanjem vrijednosti Korisnički agent napravljeno je putem API-ja niske razine:

client.getParams (). setParameter (CoreProtocolPNames.USER_AGENT, "Mozilla / 5.0 Firefox / 26.0");

Isto se može učiniti putem API više razine - bez bavljenja sirovinama http.useragent svojstvo:

HttpProtocolParams.setUserAgent (client.getParams (), "Mozilla / 5.0 Firefox / 26.0");

Puni primjer izgledao bi ovako:

@Test public void whenClientUsesCustomUserAgent_thenCorrect () baca ClientProtocolException, IOException {DefaultHttpClient client = new DefaultHttpClient (); HttpProtocolParams.setUserAgent (client.getParams (), "Mozilla / 5.0 Firefox / 26.0"); Zahtjev za HttpGet = novi HttpGet ("// www.github.com"); client.execute (zahtjev); }

2.2. Nakon HttpClienta 4.3

U novijoj verziji klijenta Apache (nakon 4.3), isto se postiže na mnogo čišći način, putem novih fluidnih API-ja:

@Test public void whenRequestHasCustomUserAgent_thenCorrect () baca ClientProtocolException, IOException {HttpClient instance = HttpClients.custom (). SetUserAgent ("Mozilla / 5.0 Firefox / 26.0"). Build (); instance.execute (novi HttpGet ("// www.github.com")); }

3. Postavljanje Korisnički agent na pojedinačne zahtjeve

Običaj Korisnički agent zaglavlje se također može postaviti na pojedinačne zahtjeve, a ne na cijele HttpClient:

@Test javna praznina givenDeprecatedApi_whenRequestHasCustomUserAgent_thenCorrect () baca ClientProtocolException, IOException {HttpClient instance = HttpClients.custom (). Build (); Zahtjev za HttpGet = novi HttpGet (SAMPLE_URL); request.setHeader (HttpHeaders.USER_AGENT, "Mozilla / 5.0 Firefox / 26.0"); instance.execute (zahtjev); }

4. Zaključak

Ovaj je članak ilustrirao kako možete upotrijebite HttpClient za slanje zahtjeva s prilagođenim Korisnički agent Zaglavlje - na primjer za simulaciju ponašanja određenog preglednika.

Implementacija svih ovih primjera i isječaka koda mogu se naći u mom github projektu - ovo je projekt zasnovan na Eclipseu, pa bi ga trebalo lako uvesti i pokrenuti kakav jest.