package Step1;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
/**
*
* @ClassName: HttpLogin
* @Description: java通过httpclient获取cookie模拟登录
* @author zeze
* @date 2015年11月10日 下午4:18:08
*
*/
public class HttpLogin {
public static void main(String[] args) {
String loginUrl = "http://passport.mop.com/?targetUrl=http://hi.mop.com/?&g=1447141423230&loginCheck=UNLOGINED" ;
String dataUrl = "http://hi.mop.com/?" ;
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(loginUrl);
NameValuePair[] data = { new NameValuePair( "loginName" , "chzeze123" ), new NameValuePair( "loginPasswd" , "**" ) };
postMethod.setRequestBody(data);
try {
httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
int statusCode=httpClient.executeMethod(postMethod);
Cookie[] cookies = httpClient.getState().getCookies();
StringBuffer tmpcookies = new StringBuffer();
for (Cookie c : cookies) {
tmpcookies.append(c.toString() + ";" );
System.out.println( "cookies = " +c.toString());
}
if (statusCode== 302 ){
System.out.println( "模拟登录成功" );
GetMethod getMethod = new GetMethod(dataUrl);
getMethod.setRequestHeader( "cookie" , tmpcookies.toString());
postMethod.setRequestHeader( "Referer" , "http://passport.mop.com/" );
postMethod.setRequestHeader( "User-Agent" , "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" );
httpClient.executeMethod(getMethod);
String text = getMethod.getResponseBodyAsString();
System.out.println(text);
}
else {
System.out.println( "登录失败" );
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}