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 "";
}
}
}
分享到:
相关推荐
7. **第三方库**: 标签提到的“apache”可能指的是使用了Apache的相关库,如HttpClient、HttpURLConnection进行网络请求,或者使用了Apache Commons库进行数据处理。 8. **版本控制**: 源码可能包含Git提交历史,...
- HTTP客户端库:如Apache HttpClient,用于发送HTTP请求。 8. **Java EE相关** - **Servlet**:服务器端的Java应用程序,用于处理HTTP请求。 - **JSP**:Java Server Pages,用于创建动态网页。 - **Spring...
C#中可以使用`System.Net`命名空间的类来实现网络请求,如`HttpClient`,向提供IP定位和天气信息的API(如OpenWeatherMap或WeatherAPI)发送请求。请求中通常会包含IP地址,API会返回包含地理位置和对应天气的数据。...
Java可以使用HTTP客户端库(如Apache HttpClient或OkHttp)来发送请求,获取并展示娱乐内容。 最后,"life_assistant_Fise19_1.21.sql"文件可能是数据库的初始脚本,用于创建个人生活助手所需的表结构和初始数据。...
浏览器端跨域访问一直是个问题,多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼。...服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方
服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方式完成“跨域访问”的工作,然后在浏览器端用AJAX获取本机服务器端“跨域访问”对应的url.来间接完成跨域访问也是可以的.但很显然开发量...
- 行为型:观察者,模板方法,策略,职责链,状态,命令,迭代器,访问者,备忘录。 以上只是Java面试中可能涉及的一部分知识点,实际面试可能会更加深入,包括并发编程、数据库操作、框架应用等方面。通过不断...
行为型设计模式如模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式,主要处理对象间的交互和行为。 单例模式有多种实现方式,...
3. 行为型模式:如责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者模式等。 八、高级特性 1. 泛型:理解泛型的作用,如何定义泛型类、接口和方法。 2. Lambda表达式:掌握...
- **23种设计模式**:单例、工厂、装饰、代理、适配器、桥接、建造者、组合、享元、职责链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者等模式。 10. **框架与库**: - **...
- 行为型模式:策略、模板方法、观察者、职责链、迭代器、命令、备忘录、状态、解释器等。 6. **其他重要概念**: - 异常处理:try-catch-finally、自定义异常、finally块中的return语句。 - 泛型:类型参数、...
- 代理模式、命令模式、迭代器模式、中介者模式、备忘录模式等。 - 观察者模式、策略模式、模板方法模式、访问者模式、职责链模式等。 - **常见面试题**: - 工厂模式与抽象工厂模式的区别? - 适配器模式的两种...