Saudações pessoal, td bem com vcs?
Aqui está o código:
package br.com.alura.screenmatch.principal;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;
public class PrincipalComBusca {
public static void main(String[] args) throws IOException, InterruptedException {
Scanner filme = new Scanner(System.in);
System.out.println("Digite o nome do titulo: ");
var titulo = filme.nextLine();
String endereco = "http://www.omdbapi.com/?i= " + titulo + " &apikey=e21d94cf";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(endereco))
.build();
HttpResponse<String> response = client
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Porém recebo erro no Terminal, percebo que pelo nome do filme não está encontrando, mas tbm é muito onoroso e quase impossível tbm saber o código do filme e procurar por ele. Na verdade quero encontrar pelo nome do filme. No terminal tenho essa resposta ao rodar o código:
C:\Users\palom\.jdks\corretto-24.0.1\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2025.2.1\lib\idea_rt.jar=63412" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\palom\IdeaProjects\2944-java-screenmatch-consumindo-webservice\out\production\2944-java-screenmatch-consumindo-webservice br.com.alura.screenmatch.principal.PrincipalComBusca
Digite o nome do titulo:
Guardians of Galaxy Vol. 2
Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in query at index 35: http://www.omdbapi.com/?i=Guardians of Galaxy Vol. 2&apikey=e21d94cf
at java.base/java.net.URI.create(URI.java:932)
at br.com.alura.screenmatch.principal.PrincipalComBusca.main(PrincipalComBusca.java:21)
Caused by: java.net.URISyntaxException: Illegal character in query at index 35: http://www.omdbapi.com/?i=Guardians of Galaxy Vol. 2&apikey=e21d94cf
at java.base/java.net.URI$Parser.fail(URI.java:2995)
at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3254)
at java.base/java.net.URI$Parser.parse(URI.java:3196)
at java.base/java.net.URI.<init>(URI.java:645)
at java.base/java.net.URI.create(URI.java:930)
... 1 more
Process finished with exit code 1
Poderiam me auxiliar nessse caso por favor? Obrigado