`
mazzystar
  • 浏览: 27376 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

httpClient 备忘

 
阅读更多

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 "";
		}
	}
}
分享到:
评论

相关推荐

    Android 备忘录源码.zip项目安卓应用源码下载

    7. **第三方库**: 标签提到的“apache”可能指的是使用了Apache的相关库,如HttpClient、HttpURLConnection进行网络请求,或者使用了Apache Commons库进行数据处理。 8. **版本控制**: 源码可能包含Git提交历史,...

    java开发备忘录

    - HTTP客户端库:如Apache HttpClient,用于发送HTTP请求。 8. **Java EE相关** - **Servlet**:服务器端的Java应用程序,用于处理HTTP请求。 - **JSP**:Java Server Pages,用于创建动态网页。 - **Spring...

    c# 呼叫中心根据IP实时显示城市得到天气状况,日历功能

    C#中可以使用`System.Net`命名空间的类来实现网络请求,如`HttpClient`,向提供IP定位和天气信息的API(如OpenWeatherMap或WeatherAPI)发送请求。请求中通常会包含IP地址,API会返回包含地理位置和对应天气的数据。...

    java 个人生活助手源码

    Java可以使用HTTP客户端库(如Apache HttpClient或OkHttp)来发送请求,获取并展示娱乐内容。 最后,"life_assistant_Fise19_1.21.sql"文件可能是数据库的初始脚本,用于创建个人生活助手所需的表结构和初始数据。...

    jQuery 跨域访问解决原理案例详解

    浏览器端跨域访问一直是个问题,多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼。...服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方

    用jQuery与JSONP轻松解决跨域访问的问题

    服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方式完成“跨域访问”的工作,然后在浏览器端用AJAX获取本机服务器端“跨域访问”对应的url.来间接完成跨域访问也是可以的.但很显然开发量...

    模拟面试 Java题目以及答案

    - 行为型:观察者,模板方法,策略,职责链,状态,命令,迭代器,访问者,备忘录。 以上只是Java面试中可能涉及的一部分知识点,实际面试可能会更加深入,包括并发编程、数据库操作、框架应用等方面。通过不断...

    进阶篇.pdf

    行为型设计模式如模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式,主要处理对象间的交互和行为。 单例模式有多种实现方式,...

    最全java笔试、面试宝典

    3. 行为型模式:如责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者模式等。 八、高级特性 1. 泛型:理解泛型的作用,如何定义泛型类、接口和方法。 2. Lambda表达式:掌握...

    Java程序员面试题

    - **23种设计模式**:单例、工厂、装饰、代理、适配器、桥接、建造者、组合、享元、职责链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者等模式。 10. **框架与库**: - **...

    interview-Java-code:Java代码集合

    - 行为型模式:策略、模板方法、观察者、职责链、迭代器、命令、备忘录、状态、解释器等。 6. **其他重要概念**: - 异常处理:try-catch-finally、自定义异常、finally块中的return语句。 - 泛型:类型参数、...

    Java面试宝典2018

    - 代理模式、命令模式、迭代器模式、中介者模式、备忘录模式等。 - 观察者模式、策略模式、模板方法模式、访问者模式、职责链模式等。 - **常见面试题**: - 工厂模式与抽象工厂模式的区别? - 适配器模式的两种...

Global site tag (gtag.js) - Google Analytics