import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.List;
import java.util.Map;
public class HttpClientSample {
public static void main(String[] args) {
HttpClient client = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2)
.followRedirects(HttpClient.Redirect.NEVER)
.connectTimeout(Duration.ofMillis(5000))
.build();
// GETの場合
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:8000/"))
.header("Last-Modified", "Sat, 26 Feb 2022 00:00:00 GMT")
.timeout(Duration.ofMillis(5000))
.GET()
.build();
// // POSTの場合
// HttpRequest request = HttpRequest.newBuilder()
// .uri(URI.create("http://localhost:8000/"))
// .header("Content-Type", "application/json")
// .timeout(Duration.ofMillis(5000))
// .POST(HttpRequest.BodyPublishers.ofString("{}"))
// .build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
for (Map.Entry<String, List<String>> header : response.headers().map().entrySet()) {
for (String v : header.getValue()) {
System.out.printf("%s: %s\n", header.getKey(), v);
}
}
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
参考