Java tutorial
package org.apache.http.protocol; import java.io.IOException; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpRequestInterceptor; import org.apache.http.annotation.Immutable; import org.apache.http.params.CoreProtocolPNames; import org.apache.http.params.HttpParams; import org.apache.http.util.Args; @Immutable public class RequestUserAgent implements HttpRequestInterceptor { private final String userAgent; public RequestUserAgent(String str) { this.userAgent = str; } public RequestUserAgent() { this(null); } public void process(HttpRequest httpRequest, HttpContext httpContext) throws HttpException, IOException { Args.notNull(httpRequest, "HTTP request"); if (!httpRequest.containsHeader(HTTP.USER_AGENT)) { String str = null; HttpParams params = httpRequest.getParams(); if (params != null) { str = (String) params.getParameter(CoreProtocolPNames.USER_AGENT); } if (str == null) { str = this.userAgent; } if (str != null) { httpRequest.addHeader(HTTP.USER_AGENT, str); } } } }