Avatar ·

Como fazer uma requisição HTTP em Java?

Olá a todos! Por favor, me digam como executar corretamente uma requisição HTTP (GET e POST) em Java puro sem usar bibliotecas de terceiros como Apache HttpClient ou OkHttp. Sou iniciante em Java e estou tentando entender requisições de rede.

Tentei usar a classe HttpURLConnection do pacote java.net, mas encontrei problemas. Aqui está meu código para uma requisição GET:

URL url = new URL("https://api.example.com/data");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);

int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close