一、HttpClient模拟登录是通过post或get请求,登录后抓取的是静态页面,动态页面使用HtmlUnit
public static void main(String[] args) throws IOException {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpost = new HttpPost("http://localhost:8080/jeefh/vworkerC/login"); // 登录url
List<NameValuePair> nvp = new ArrayList<NameValuePair>();
nvp.add(new BasicNameValuePair("loginname", "白斐"));
nvp.add(new BasicNameValuePair("password", "123456"));
nvp.add(new BasicNameValuePair("isRemember", "1"));
String sCharSet = "utf-8";
httpost.setEntity(new UrlEncodedFormEntity(nvp, sCharSet));
HttpResponse response = httpclient.execute(httpost);
String str = EntityUtils.toString(response.getEntity()); // post请求成功后的返回值
String cookie = response.getLastHeader("Set-Cookie").getValue(); // 获取cookie值
HttpGet index = new HttpGet("http://localhost:8080/jeefh/main"); // 数据接口url
index.setHeader("Cookie", cookie); // 设置之前获取到的cookie
index.setHeader("Content-Type", "application/json;charset=UTF-8");
HttpResponse response1 = httpclient.execute(index);
str = EntityUtils.toString(response1.getEntity()); // 取到的数据
System.out.println(str);
Document