Egyéni User-Agent a HttpClient 4-ben
1. Áttekintés
Ez a gyors bemutató megmutatja hogyan küldjön egy szokást User-Agent fejléc az Apache HttpClient 4 használatával.
2. Beállítás User-Agent a HttpClient
2.1. A HttpClient előtt 4.3
Ha a Http Client régebbi verzióival dolgozik (4.3 előtti verzió), állítsa be a User-Agent kész volt alacsony szintű API-n keresztül:
client.getParams (). setParameter (CoreProtocolPNames.USER_AGENT, "Mozilla / 5.0 Firefox / 26.0");
Ugyanez megtehető a következőn keresztül: egy magasabb szintű API is - anélkül, hogy a nyerssel foglalkozna http.useragent ingatlan:
HttpProtocolParams.setUserAgent (client.getParams (), "Mozilla / 5.0 Firefox / 26.0");
A teljes példa így néz ki:
@Test public void whenClientUsesCustomUserAgent_thenCorrect () dobja a ClientProtocolException, IOException {DefaultHttpClient kliens = új DefaultHttpClient (); HttpProtocolParams.setUserAgent (client.getParams (), "Mozilla / 5.0 Firefox / 26.0"); HttpGet request = új HttpGet ("// www.github.com"); client.execute (kérés); }
2.2. A HttpClient 4.3 után
Az Apache kliens legújabb verziójában (4.3 után) ugyanezt sokkal tisztább módon érik el az új folyékony API-k:
@Test public void whenRequestHasCustomUserAgent_thenCorrect () dobja a ClientProtocolException, IOException {HttpClient instance = HttpClients.custom (). SetUserAgent ("Mozilla / 5.0 Firefox / 26.0"). Build (); instance.execute (új HttpGet ("// www.github.com")); }
3. Beállítás User-Agent egyedi kérésekről
Egy szokás User-Agent A fejléc egyedi kérésekre is beállítható, nem pedig teljes egészében HttpClient:
@Test public void givenDeprecatedApi_whenRequestHasCustomUserAgent_thenCorrect () dobja a ClientProtocolException, IOException {HttpClient instance = HttpClients.custom (). Build (); HttpGet kérés = új HttpGet (SAMPLE_URL); request.setHeader (HttpHeaders.USER_AGENT, "Mozilla / 5.0 Firefox / 26.0"); instance.execute (kérés); }
4. Következtetés
Ez a cikk bemutatta, hogyan lehet a HttpClient használatával egyedi kérelmeket küldhet User-Agent fejléc - például egy adott böngésző viselkedésének szimulálására.
Mindezen példák és kódrészletek megvalósítása megtalálható a github projektemben - ez egy Eclipse alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.