Essas URLs que você vai checar retorna HTML e você precisa manipular esse HTML? Ou apenas retornam conteúdo JSON? Ou você quer apenas checar se dá pra conectar com essa URL? Quero aproveitar também pra perguntar qual a versão do Java porque se for o Java 11 tem um HttpClient bem fácil de usar.
G
gabrielsilvagsg
o retorno vem em JSON, uso Scanner para ler tudo, depois obtenho oque preciso. Uso java 8.
tenho muitas duvidas de como fazer conectar mais rapido, pq pra ler, é mt rápido.
C
confuso
Você não podia dar exemplos de código com o que você tá fazendo?
Conexão com a URL feita em -> 16486ms (utilizando https)
Conexão com a URL feita em -> 125 (http:)
G
gabrielsilvagsg
e utilizando este código, não precisa “fechar” o BufferedReader? sei la… e nem a conexao? conexao.disconnect(); <-
C
confuso
Que estranho ter tanta diferença assim. Eu testei usando Scanner e não demorou tanto. E o que é o ProxyChecker no seu código?
E, sim, precisa fechar o recurso, mas apenas do BufferedReader. Todos os outros recursos encapsulado pelo BufferedReader é fechado automaticamente ao invocar close() no objeto BufferedReader.
Pode testar esse código e vê se continua demorando muito?
classMain{publicstaticvoidmain(String[]args)throwsException{URLurl=newURL("https://ENDEREÇO_DA_SUA_API_AQUI");HttpURLConnectionconexao=(HttpURLConnection)url.openConnection();conexao.setRequestMethod("GET");try(BufferedReaderbufferedReader=newBufferedReader(newInputStreamReader(conexao.getInputStream()))){StringtodoConteudoRetornado=bufferedReader.lines().collect(Collectors.joining("\n"));System.out.println(todoConteudoRetornado);}// todos os recursos estão devidamente fechados quando chega aqui}}
G
gabrielsilvagsg
Utilizando http:
Conexão com a URL feita em -> 156ms
Conexão com a URL feita em -> 117ms
https:
Conexão com a URL feita em -> 6966
G
gabrielsilvagsg
o BufferedReader ja está fechado msm?
C
confuso
Sim, usando o try-with-resources os recursos declarados dentro do try são fechados automaticamente.
https:
Conexão com a URL feita em -> 6966
Isso é usando o código de exemplo que te passei? Então, testa com outras URL qualquer como “https://google.com” ou “https://g1.globo.com” e vê se demora do mesmo jeito. Se só a URL da sua API que demora, então o problema não é o código. Se qualquer URL demora, talvez (apenas, talvez) o problema seja a sua conexão ou rede, pois é estranho o mesmo código ter tanta diferença.
G
gabrielsilvagsg
aah, entendi, valeu pelo suporte mano, acho que é sim minha internet ou meu computador mesmo, sei la. porém, sempre ‘http:’ vai muito mais rápido.
C
confuso
Mas outras URL como “https://google.com” também foram bem lentas, então?