import java.io.IOException;
import java.net.ConnectException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HTTPClientExample {
public static void main(String[] args) {
HttpClient client = HttpClient.newBuilder().build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com/api"))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println("Request succeeded: " + response.body());
} else {
System.out.println("Request failed with status code: " + response.statusCode());
}
} catch (ConnectException e) {
System.out.println("Connection error: " + e.getMessage());
// Retry connection or inform user about the issue
} catch (HttpRequestException e) {
System.out.println("Request failed: " + e.getMessage());
System.out.println("Response code: " + e.getResponseCode());
System.out.println("Response body: " + e.getResponseBody());
// Retry request or handle error accordingly
System.out.println("Internal error occurred: " + e.getMessage());
}
}
}