Код: Выделить всё
package org.degoogle.Networking;
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.time.temporal.ChronoUnit;
import java.util.Optional;
public class HTTPComms {
private static final HttpClient HTTP_CLIENT = HttpClient.newBuilder().connectTimeout(Duration.of(10, ChronoUnit.SECONDS)).build();
// if 404 the url is not found else return the body
public Optional urlBodyGetter(String url) {
try{
HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).timeout(Duration.of(10, ChronoUnit.SECONDS)).GET().build();
HttpResponse response = HTTP_CLIENT.send(request, HttpResponse.BodyHandlers.ofString());
if(response.statusCode() == 200){
return Optional.of(response.body());
} else{
return Optional.empty();
}
}
catch (Exception e) {
if(e instanceof InterruptedException)
{
Thread.currentThread().interrupt();
//Log for interrupt
}
else if(e instanceof IllegalArgumentException) {
//Log for URI
}
else{
//for IOBlock
}
return Optional.empty();
}
}
}
Код: Выделить всё
Knights Time