2
respostas

Erro no consumo da API

Meu código está assim:

package br.com.alura.screenmatch.princpal;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class PrincipalComBusca {

    public static void main(String[] args) throws IOException, InterruptedException {

        HttpClient client = HttpClient.newHttpClient();

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://www.omdbapi.com/?i=tt3896198&apikey=ca38d2e0
                

E esta aparecendo esses erros:

Exception in thread "main" java.net.ConnectException at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:951) at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) at br.com.alura.screenmatch.princpal.PrincipalComBusca.main(PrincipalComBusca.java:19) Caused by: java.net.ConnectException at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1028) at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) at java.net.http/jdk.internal.net.http.PlainHttpConnection.checkRetryConnect(PlainHttpConnection.java:280) at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$2(PlainHttpConnection.java:238) at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.nio.channels.ClosedChannelException at java.base/sun.nio.ch.SocketChannelImpl.ensureOpen(SocketChannelImpl.java:202) at java.base/sun.nio.ch.SocketChannelImpl.beginConnect(SocketChannelImpl.java:786) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:874) at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) ... 9 more

Alguem sabe o q eu posso fazer???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

2 respostas

Oii, Giovani! Tudo bem?

Essa exceção geralmente ocorre quando uma tentativa de conexão de rede falha. Isso pode ser devido a vários motivos, como a API que você está tentando acessar não está disponível, a URL da API está errada, problemas de rede, etc.

Então, sugiro que revise alguns pontos:

  • Na URL da API, por exemplo, está faltando o fechamento com as apas, ela deve ocupar apenas uma linha (sem quebras);

  • Verifique se a API está disponível. Você pode fazer isso tentando acessar a URL da API diretamente no seu navegador.

  • Verifique se a sua chave API está correta e ainda é válida.

  • Verifique se a sua conexão com a internet está estável.

Espero que as sugestões te ajude. Qualquer dúvida, conte conosco.

Bons estudos, Giovani!

Obrigado, não deu certo kkkk...acho que é pq estou usando o pc do serviço, provavelmente eles bloqueam esse tipo de conexãe.