HttpClient是一个非常好用的java开源项目,其作用是对用java程序对网站发起Http请求。
下面是鲁炬对HttpClient进行的简单封装,主要优点是,静态调用,自动识别网页字符集,伪装火狐/IE浏览器。
为什么不使用单例。以前是用单例模式,只创建一个HttpClient示例,后来发现用单例在并发情况下会出现bug,所以改为了每次调用都新建一个。
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.lang.StringUtils;
/**
* @author 鲁炬
*
*/
public class HttpClientUtil {
public static HttpClient getClient() {
HttpClient client = new HttpClient();
return client;
}
public static String getHtml(String url) throws HttpException, IOException {
return getHtml(url, 80, null, null, 0, null);
}
public static String getHtml(String url, String cookie) throws HttpException, IOException {
re