http接口测试----httpclient介绍及使用示例

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的 客户端 编程工具包,并且它支持 HTTP 协议最新的版本和建议。

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java  应用程序 需要直接通过 HTTP 协议来访问 网络资源 。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分 应用程序 来说,JDK 库本身提供的功能还不够丰富和灵活。

HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和  HTMLUnit  都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.2 

(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
(2)支持自动转向
(3)支持 HTTPS 协议
(4)支持代理服务器等

使用 HttpClient 需要以下 6 个步骤:
1. 创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的 构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
根据以上步骤,我们来编写用GET方法来取得某网页内容的代码。

public HttpClient httpClient = new HttpClient();
public HttpMethod() {
PostMethod post = new PostMethod(LOGIN_URL);
NameValuePair username = new NameValuePair("j_username", USER_NAME);
NameValuePair password = new NameValuePair("j_password", PASSWORD);
post.setRequestBody(new NameValuePair[] { username, password });
try {
httpClient.executeMethod(post);
System.out.println(post.getStatusLine());
System.out.println(post.getResponseBodyAsString());
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
post.releaseConnection();
}

你可能感兴趣的:(java)