展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Jdk11新增HttpClient客户端,发送get请求

  • JDK11新增HttpClient,⽀持 HTT/1.1, HTTP/2

  • 常⽤类和接⼝讲解

HttpClient.Builder
HttpClient 构建⼯具类
HttpRequest.Builder
HttpRequest 构建⼯具类
HttpRequest.BodyPublisher
java 对象转换为可发送的HTTP request body字节流, 如form表单提交
HttpResponse.BodyHandler
处理接收到的 Response Body
  • 发送get请求案例
import java.net.URI;
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 {
testGet();
}
private static final String targetUrl = "http://api.xdclass.net/pub/api/v1/web/all_category";
private static final URI uri = URI.create(targetUrl);
private static final void testGet() {
//var httpClient = HttpClient.newHttpClient(); // 方式1
//设置建立连接的超时 connect timeout
var httpClient = HttpClient.newBuilder().connectTimeout(Duration.ofMillis(5000)).build(); // 方式2
var request = HttpRequest.newBuilder().timeout(Duration.ofMillis(3000))
.header("key1", "v1")
.header("key2", "v2")
.uri(uri).build();
try {
var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
posted @   DogLeftover  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2021-08-26 vue项目梳理
点击右上角即可分享
微信分享提示