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


    转自:

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

    HttpClient:

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

     HttpClient 主要功能:

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

    (2)支持自动转向

    (3)支持 HTTPS 协议

    (4)支持代理服务器

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

    实现思路:
        1.创建一个HttpClient
    	2.定义一个httpRequest
    	3.HttpClient.execute(request)
    	4.获取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();
    				 }
    			}
    		}
    	}
    
    }
  • 相关阅读:
    设计模式-抽象工厂模式
    vue锚点链接
    生产环境中oracle dba权限检查和回收相关命令汇总
    10、学习MySQL LIKE 子句
    AI是如何影响全球的安防监控产业
    ChatGPT/GPT4科研实践应用与AI绘图技术及论文高效写作
    Java手写循环队列算法和循环队列算法应用拓展案例
    通过QT管理网络状态和网络连接
    基于java+springmvc+mybatis+vue+mysql的大学生健康管理系统
    Gateway服务网关
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/125549588