I/O Początkujący

Używaj wbudowanego HttpClient do czystych, nowoczesnych żądań HTTP.

✕ Java 8
URL url = new URL("https://api.com/data");
HttpURLConnection con =
    (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
// read lines, close streams...
✓ Java 11+
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.com/data"))
    .build();
var response = client.send(
    request, BodyHandlers.ofString());
String body = response.body();
Widzisz problem z tym kodem? Daj nam znać.
📐

API Builder

Płynny builder do żądań, nagłówków i limitów czasu.

🔄

Obsługa HTTP/2

Wbudowane HTTP/2 z multipleksowaniem i server push.

Gotowość asynchroniczna

sendAsync() zwraca CompletableFuture.

Stare podejście
HttpURLConnection
Nowoczesne podejście
HttpClient
Od JDK
11
Poziom trudności
Początkujący
Nowoczesny klient HTTP
Dostępne

Szeroko dostępne od JDK 11 (wrzesień 2018)

HttpClient obsługuje HTTP/1.1 i HTTP/2, żądania asynchroniczne, WebSocket, niestandardowe executory i pulę połączeń. Koniec z rzutowaniem URLConnection i ręcznym odczytywaniem InputStream.