DEV Community

Bruno Barros
Bruno Barros

Posted on

Chamadas HTTP com Java

Para fazer uma requisição HTTP em Java, você pode usar a classe HttpURLConnection do pacote java.net. Aqui está um exemplo de como enviar uma requisição GET simples e ler a resposta:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
  public static void main(String[] args) throws Exception {
    // Cria a URL da requisição
    URL url = new URL("http://www.example.com");

    // Cria a conexão HTTP
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    // Define o método da requisição como GET
    connection.setRequestMethod("GET");

    // Envia a requisição e armazena a resposta
    BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String inputLine;
    StringBuilder response = new StringBuilder();
    while ((inputLine = in.readLine()) != null) {
      response.append(inputLine);
    }
    in.close();

    // Exibe a resposta
    System.out.println(response.toString());
  }
}
Enter fullscreen mode Exit fullscreen mode

Você também pode adicionar cabeçalhos à sua requisição usando o método setRequestProperty. Por exemplo, para adicionar um cabeçalho "User-Agent" à sua requisição, você pode fazer o seguinte:

connection.setRequestProperty("User-Agent", "My Java App");

Para enviar dados com a sua requisição, como um corpo de solicitação em uma requisição POST, você pode usar os métodos setDoOutput e getOutputStream. Aqui está um exemplo de como enviar um corpo de solicitação em uma requisição POST:

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
  public static void main(String[] args) throws Exception {
    // Cria a URL da requisição
    URL url = new URL("http://www.example.com");

    // Cria a conexão HTTP
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    // Define o método da requisição como POST
    connection.setRequestMethod("POST");

    // Adiciona o cabeçalho "Content-Type" com o tipo de conteúdo do corpo de solicitação
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

    // Ativa a opção de envio de dados com a requisição
    connection.setDoOutput(true);
Enter fullscreen mode Exit fullscreen mode

_ Este post foi gerado pelo chatgpd e revisado por mim._

Top comments (0)