import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
@Test
public void test2() {
String userName = "138212121";
String password = "13826121212";
String loginUrl = "http://127.0.0.1:80/spdbnbs/checkLogin.jhtml"; //ajax中的post请求路径
String dataUrl = "http://127.0.0.1:80/spdbnbs/";
HttpClientLogin(userName, password, loginUrl, dataUrl);
}
private static void HttpClientLogin(String userName, String password, String loginUrl, String dataUrl) {
HttpClient httpClient = new HttpClient();
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");
PostMethod postMethod = new PostMethod(loginUrl);
NameValuePair[] postData = { new NameValuePair("userName", userName),
new NameValuePair("passwd", password) };
postMethod.setRequestBody(postData);
try {
httpClient.getParams().setCookiePolicy(
CookiePolicy.BROWSER_COMPATIBILITY);
httpClient.executeMethod(postMethod);
Cookie[] cookies = httpClient.getState().getCookies();
StringBuffer stringBuffer = new StringBuffer();
for (Cookie c : cookies) {
stringBuffer.append(c.toString() + ";");
}
GetMethod getMethod = new GetMethod(dataUrl);
getMethod.setRequestHeader("Cookie", stringBuffer.toString());
postMethod.setRequestHeader("Host", "http://127.0.0.1:80/spdbnbs");
postMethod.setRequestHeader("Referer", "http://127.0.0.1:80/spdbnbs/");
postMethod.setRequestHeader("User-Agent", "AndroidCnblogs");
httpClient.executeMethod(getMethod);
int statusCode=getMethod.getStatusCode();
String result = getMethod.getResponseBodyAsString();
System.out.println(statusCode);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}