jdk11的HttpClient

2023-10-20 14:36
文章标签 httpclient jdk11

本文主要是介绍jdk11的HttpClient,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们都知道在jdk11之前都在用okhttp或者org.apache.httpcomponents 
其实早在jdk9的时候这个方案就在孵化中

上面的截图来自openjdk的官网,注:openjdk是个开源项目,不存在侵权现象

这是openjdk的官网:JEP 110: HTTP/2 Client (Incubator) (openjdk.org)

具体出在jdk11 稳定版里面,可以说11版本成型,接下来我举个小例子

package com.example;
import java.net.*;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;public class Main {public static void main(String[] args) throws Exception {HttpClient client= HttpClient.newBuilder().followRedirects(HttpClient.Redirect.ALWAYS).build();HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://baidu.com/")).timeout(Duration.ofMinutes(2)).GET().build();client.sendAsync(request, HttpResponse.BodyHandlers.ofString()).thenApply(HttpResponse::body).thenAccept(System.out::println);HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.statusCode());System.out.println(response.body());}}

这个例子很简单,就是现在HttpRequest里面构造一下uri ,timeout,Get请求,通过build方法进行构造,不得不说,现在私有化构造器的同时一般都采用建造者模式,又或者为了单一对象考虑,比如说自己类里面new了一个对象,然后搞一个方法return出去,我们还可以通过反射来new 这种类的对象

接下来就是创建 HttpClient的创建,唯一要注意的点是要允许重定向

client 发送请求,send有两个参数,一个是request  另一个是HttpResponse参数类型,并做了转换

后面就是拿到反应结果集,输出就行了

这里我想开一个新的专栏,专门讲jdk8之后的特性

这篇关于jdk11的HttpClient的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/247737

相关文章

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Apache HttpClient使用详解

转载地址:http://eksliang.iteye.com/blog/2191017 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟

项目一(一) HttpClient中的POST请求和GET请求

HttpClient中的POST请求和GET请求 一、HttpClient简述 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLU

HttpClient的快速入门使用

目录 一、介绍 二、Get方式请求发送入门案例  实现步骤:  测试结果: 三、Post方式请求发送入门案例  实现步骤: 测试结果: 一、介绍 HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpCl

httpclient支持socks5和http代理调用接口

httpclient支持socks5和http代理调用接口 package com.ruoyi.web.controller.util;import org.apache.http.HttpHost;import org.apache.http.NameValuePair;import org.apache.http.auth.AuthScope;import org.apa

Android的httpclient的post方法获取服务器端的数据(服务器端是get方法)

1.首先建立一个StreamTools类:public class StreamTools { /** * * * @param is * @return */ public static String streamToStr(InputStream is) { try { ByteArrayOutputStream os = new ByteArrayOu

HttpClient库的使用

一、HttpClient的使用步骤 1、生成代表客户端的HttpClient对象 2、生成代表请求的HttpGet对象 3、发送请求,获得服务器返回的HttpResponse对象 4、检测相应状态是否正常 5、获取响应对象当中的数据 二、状态码(即有时界面获取会显示505,等数字) 状态码—: 505——服务器端出现错误 404——客户端出现错误 200——无错误,不会显示,用户

android studio没有org.apache.http.client.HttpClient;等包问题 解决方案

以前用Eclipse做Android开发工具一直使用apache的http做网络请求,最近换用了Android studio发现没有办法引用apache的包,下面是我引用的步骤 转载地址:http://blog.csdn.net/jian51868/article/details/52399263

Android----httpClient的使用

1.1      执行请求 HttpClient的最重要的功能是执行HTTP方法。一个HTTP方法的执行涉及到一个或多个HTTP请求或HTTP响应的交流,HttpClient通常是在内部处理的。用户将提供一个执行请求对象,HttpClient发送请求到目标服务器返回一个相应的响应对象,如果执行失败则抛出一个异常。所以,HttpClient API的主要切入点是HttpClient的接口,它定