jdk11使用了一个新的HttpClient来更方便快捷的处理http请求和响应,新的httpclient支持HTTP/1.1和HTTP/2协议,也支持异步请求,支持websocket请求,可以使用连接池处理,API也支持流式调用,代码更简洁明了;
测试demo:
先写一个简单的httpserver用于测试http请求:
@BeforeEach
void beforetest() {
System.out.println("===before===");
try {
HttpServer server = HttpServer.create(new InetSocketAddress(9999), 0);
server.createContext("/", new HttpHandler(){
@Override
public void handle(HttpExchange exchange) throws IOException {
String exchangeUrl = exchange.getRequestURI().toString().substring(1);
System.out.println("__"
+ "exchangeUrl=" + exchangeUrl);
Headers headers = exchange.getRequestHeaders();
headers.forEach((k, v) -> System.out.println("_Header:" + k + "=" + v));
InputStream body = exchange.getRequestBody();
System.out.println("__RequestBody:" + new String(body.readAllBytes()));
exchange.sendResponseHeaders(200, 0);
OutputStream os = exchan

文章展示了JDK11中新的HttpClient如何处理HTTP请求和响应,支持HTTP/1.1和HTTP/2协议,以及异步请求和WebSocket。提供了一个简单的HTTP服务器测试示例,包括同步和异步请求的代码,以及WebSocket的客户端交互测试。
最低0.47元/天 解锁文章
5269

被折叠的 条评论
为什么被折叠?



