Como usar java.net.URLConnection para enviar e processar requisições HTTP
Olá a todos! Estou começando a aprender Java e me deparei com uma tarefa: preciso enviar uma requisição HTTP para um servidor e obter a resposta. Li sobre a classe URLConnection, mas não consigo entender seu uso correto. Escrevi o seguinte código para uma requisição GET:
```java
import java.net.*;
import java.io.*;
public class HttpTest {
public static void main(String[] args) throws Exception {
URL url = new URL("http://example.com/api/data");
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
}
```
Mas o código não funciona de forma estável: às vezes lança IOException, às vezes a resposta chega incompleta. Além disso, quero aprender a enviar requisições POST com corpo JSON, mas a documentação da Oracle me assusta com sua complexidade. Por favor, me ajudem.