如何开启你的第一个httpClient程序呢?

如何开启你的第一个httpClient程序呢?

转自:

 http://www.java265.com/JavaCourse/202205/3307.html

HttpClient:

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

   HTTP 协议是 Internet 上使用得最多、最重要的协议之一,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。Commons HttpClient项目现已终止,不再开发。 它已被Apache HttpComponents项目里的HttpClient和HttpCore模块取代,它们提供了更好的性能和更大的灵活性。

 HttpClient 主要功能:

(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)

(2)支持自动转向

(3)支持 HTTPS 协议

(4)支持代理服务器

下文笔者讲述第一个HttpClient程序的开发示例分享,如下所示:

实现思路:
    1.创建一个HttpClient
	2.定义一个httpRequest
	3.HttpClient.execute(request)
	4.获取httpClient运行后的结果

例:

      使用HttpClient编写的第一个文件下载程序

package com.java265.other.httpClient;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;

import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.core5.http.HttpEntity;

public class HttpClient01 {
	/*
	 * java265.com 第一个HttpClient示例
	 */
	public static void main(String[] args) throws Exception {

		try (CloseableHttpClient httpclient = HttpClients.createDefault()) {
			HttpGet httpGet = new HttpGet("http://www.java265.com");

			InputStream in = null;
			ByteArrayOutputStream bos = new ByteArrayOutputStream();

			try (CloseableHttpResponse response1 = httpclient.execute(httpGet)) {
				System.out.println(response1.getCode() + " " + response1.getReasonPhrase());
				HttpEntity entity1 = response1.getEntity();
				in = entity1.getContent();
				byte[] buffer = new byte[1024];
				int len = -1;
				while ((len = in.read(buffer)) != -1) {
					bos.write(buffer, 0, len);
				}
				
				System.out.println("output:" + bos.toString());

			}catch(Exception e) {
				System.out.println("message:" + e.getMessage());
			}finally {
				 if(null != in) {
						in.close();
				 }
				 
				 if(null != bos) {
						bos.close();
				 }
			}
		}
	}

}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何开启你的第一个httpClient程序呢?