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();
}
}
}