模拟登陆开心网

来源:互联网 发布:it helpdesk面试题 编辑:程序博客网 时间:2024/04/29 13:40
import java.io.IOException;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;

public class KaiXin {
/**
 * @param args
 */
public static void main(String[] args) {
//设置用户名和密码
String email = "用户名";
String password = "密码";
//登陆链接
String loginurl = "https://security.kaixin001.com/login/login_auth.php";
//成功后转向链接
String successurl = "http://www.kaixin001.com/home/";
//创建httpclient对象
HttpClient httpclient = new HttpClient();
//创建post对象并传入post的url,打入相应的post参数
PostMethod post = new PostMethod(loginurl);
post.addParameter("email", email);
post.addParameter("password", password);
post.addParameter("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
post.addParameter("Accept-Language", "en-US,en;q=0.5");
post.addParameter("Host", "security.kaixin001.com");
post.addParameter("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
post.addParameter("Content-Type", "application/x-www-form-urlencoded");
post.addParameter("Referer", "http://www.kaixin001.com/");

try {
//执行post,取出相应头set-cookie
httpclient.executeMethod(post);
Header[] headers = post.getResponseHeaders("set-Cookie");
//释放资源
post.releaseConnection();
System.out.println(headers);
//再次创建httpclient对象
HttpClient httpclient2 = new HttpClient();
GetMethod get = new GetMethod(successurl);
get.addRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
get.addRequestHeader("Accept-Language", "en-US,en;q=0.5");
get.addRequestHeader("Host", "www.kaixin001.com");
get.addRequestHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
get.addRequestHeader("Referer", "http://www.kaixin001.com/");
String cookie = null;
//对取出的cookie进行处理并做相应拼装
StringBuilder sb = new StringBuilder();
for (int i = 0; i < headers.length; i++) {
String h = headers[i].toString().substring(12).trim();
String[] s = h.split(";");
for (String ss : s) {

String sss = ss + ";";
cookie = sb.append(sss).toString().trim();
}
}
System.out.println(cookie);
//将此加入头中
get.addRequestHeader("cookie", cookie);
//执行相应方法
httpclient2.executeMethod(get);
String homeHtmlContent = get.getResponseBodyAsString();
//测试
System.out.println(homeHtmlContent);
System.out.println(homeHtmlContent.contains("张小凡"));
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

0 0