apache common httpClient 使用,登录iteye,访问我的博客
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.log4j.Logger;
public class HttpClientTest {
private static Logger logger = Logger.getLogger(HttpClientTest.class);
private static final String name = "mazzystar";
private static final String password = "xxxxxx";
private static final String loginUrl = "http://www.iteye.com/login";
private static final String blogUrl = "http://mazzystar.iteye.com/admin";
public static void main(String[] args) throws HttpException, IOException {
HttpClient c = new HttpClient();
NameValuePair[] loginPair = { new NameValuePair("remember_me", "1"),
new NameValuePair("name", name),
new NameValuePair("password", password) };
// 登录
PostMethod m = postMethod(loginUrl);
m.setRequestBody(loginPair);
c.executeMethod(m);
logger.debug(getResponse(m));
// 我的博客
PostMethod om = postMethod(blogUrl);
c.executeMethod(om);
logger.debug(getResponse(om));
}
public static PostMethod postMethod(String url) {
PostMethod om = new PostMethod(url);
// 处理乱码
om.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,
"UTF-8");
// 如果不设置 iteye会当做网络爬虫,出现相应的错误页面
om
.setRequestHeader("User-Agent",
"Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20100101 Firefox/8.0");
return om;
}
public static String getResponse(PostMethod m) {
try {
// 处理乱码
return new String(m.getResponseBodyAsString().getBytes("UTF-8"));
} catch (Exception e) {
logger.error("error : ", e);
return "";
}
}
}