Code: Select all
public static void seLigaNoHTTP(){
DataOutputStream outputStream = null;
// Você pode conseguir o seu próprio token até 30/03/2025 em https://aistudio.google.com/apikey lembrando que cada sistema consome API de um jeito
String token="tropaDoOruamTropaTropa873438yeTropa!";
//Preenche um código json que mande um Oi pro google
String mensagemBoba = "{ \"contents\": [{ \"parts\": [{ \"text\": \"Oi\" }] }] }";
try{
// Conecta em uma url usando castin e convertendo em conexao
URL url = new URL("https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key="+token);
HttpURLConnection conexao = (HttpURLConnection) url.openConnection();
//Escolhe o método de comunicação, poderia ser POST ou GET
conexao.setRequestMethod("POST");
conexao.setDoOutput(true);
//Preenche a porcaria dos cabeçalhos HTTP
conexao.setRequestProperty("Content-Type", "application/json");
conexao.setRequestProperty("x-goog-api-key", token);
//Transforma a mensagem boba em um array de bytes que todos socket e programador fodao gosta
byte[] mensagemBobaBytes = mensagemBoba.getBytes(StandardCharsets.UTF_8);
//Manda e mensagem boba ao servidor da API
outputStream = new DataOutputStream(conexao.getOutputStream());
outputStream.write(mensagemBobaBytes);
// Obtem o codigo da conexao para saber se houve erro no codigo, no servidor ou na conexao
int codigoResposta = conexao.getResponseCode();
System.out.println("Código de resposta: " + codigoResposta);
//Prepara para receber as coisas que o servidor responde num buffer
InputStreamReader respostinhaMarotaServidor = new InputStreamReader(conexao.getInputStream());
BufferedReader reader = new BufferedReader(respostinhaMarotaServidor);
// Faz uma concatenação de linha a linha do que recebeu do servidor
String linhaTexto;
StringBuilder recebiIsso = new StringBuilder();
while ((linhaTexto = reader.readLine()) != null) {
recebiIsso.append(linhaTexto);
}
System.out.println("EU RECEBI ESSE LIXO AQUI -> " + recebiIsso.toString());
}
catch(Exception e){
System.out.println("Ixi!!! Deu erro: "+e);
}
}