Jdk11使用HttpClient提交Http2请求
-
HTTP2协议的强制要求https,如果⽬标URI是HTTP的,则⽆法使⽤HTTP 2协议
-
判断⽹站是否是http2协议
浏览器 -> network⾯板 -> 右键名称 -> 选择protocol 浏览器 -> network⾯板 -> 右键名称 -> 选择协议
- 发送http2请求案例
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 { testHttp2(); } private static final String targetUrl = "https://http2.akamai.com/demo"; private static final URI uri = URI.create(targetUrl); private static final void testHttp2() { //设置建立连接的超时 connect timeout var httpClient = HttpClient.newBuilder().connectTimeout(Duration.ofMillis(5000)) .version(HttpClient.Version.HTTP_2) .build(); 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()); System.out.println(response.version()); } catch (Exception e) { e.printStackTrace(); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2021-08-26 vue项目梳理