jdk11的HttpClient

简介: 本文介绍了JDK 11中新增的HttpClient功能,并通过示例代码展示了如何使用它来发送HTTP请求,包括GET请求和异步请求的处理。

我们都知道在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之后的特性

目录
相关文章
|
5月前
|
Oracle Java 关系型数据库
JDK版本特性问题之在 JDK 11 中,HTTP Client API 的特点有哪些
JDK版本特性问题之在 JDK 11 中,HTTP Client API 的特点有哪些
|
Java API
从JDK11新增HttpClient谈谈非阻塞模型
北京时间 9 月 26 日,Oracle 官方宣布 Java 11 正式发布
3192 0
|
4月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
394 3
|
9天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
100 7
|
5月前
|
Oracle Java 关系型数据库
Mac安装JDK1.8
Mac安装JDK1.8
798 4
|
5月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
66 1
|
6月前
|
Java Linux
Linux复制安装 jdk 环境
Linux复制安装 jdk 环境
119 3
|
2月前
|
Oracle Java 关系型数据库
安装 JDK 时应该注意哪些问题
选择合适的JDK版本需考虑项目需求与兼容性,推荐使用LTS版本如JDK 17或21。安装时注意操作系统适配,配置环境变量PATH和JAVA_HOME,确保合法使用许可证,并进行安装后测试以验证JDK功能正常。
59 1
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
83 1
|
5月前
|
Java 开发工具
开发工具系列 之 同一个电脑上安装多个版本的JDK
这篇文章介绍了如何在一台电脑上安装和配置多个版本的JDK,包括从官网下载所需JDK、安装过程、配置环境变量以及如何查看和切换当前使用的JDK版本,并提到了如果IDEA和JDK版本不兼容时的解决方法。
开发工具系列 之 同一个电脑上安装多个版本的JDK