1. 程式人生 > >Java模擬HTTP請求2

Java模擬HTTP請求2

之前轉過一篇基於HttpClient的Java模擬HTTP請求,使用的第三方jar檔案,這次升級JDK11之後模擬HTTP請求不需要再匯入第三方jar檔案了,官方擴充套件了java.net包,所有的HTTP請求相關類均位於java.net.http包內,示例程式碼如下:

package xyz.lsm1998.test;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

/**
 * 作者:劉時明
 * 日期:2018/10/30
 * 時間:15:36
 * 說明:
 */
public class HttpTest
{
    public static void main(String[] args) throws Exception
    {
        // 建立一個請求物件,指定uri和請求型別(預設為GET)
        var request = HttpRequest.newBuilder()
                .uri(URI.create("http://www.lsm1998.xyz"))
                .GET()
                .build();
        // 建立HttpClient物件
        var client = HttpClient.newHttpClient();

        // 模擬一次同步請求
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());

        // 模擬一次非同步請求
        HttpResponse<String> response2=client.sendAsync(request,HttpResponse.BodyHandlers.ofString()).get();
        System.out.println(response2.body());
    }
}

ps:注意環境為JDK11