bem, se eu tenho um link de uma certa página, e ela tem um javascript
é possível, atravez de um programa java, acessar essa pagina e salvar o conteudo dela?
por exemplo: um arquivo pdf que esta sendo exibida nela?
bem, se eu tenho um link de uma certa página, e ela tem um javascript
é possível, atravez de um programa java, acessar essa pagina e salvar o conteudo dela?
por exemplo: um arquivo pdf que esta sendo exibida nela?
vc quer entrar numa pagina e salvar o código JS dela? bancar o hacker? hahaha
isso não é possível amigo…
não quero bancar o hacker,
mas contece que o site oficial da união só se pode fazer o download de uma pagina de cada vez, entao gostaria de fazer um programa em java para fazer o download de todas as paginas
mas acontece que o acesso direto ao arquivo .pdf é bloqueado, entao gostaria de algo que pegasse a url dessa pagina com esse JS e que pudesse salvar esse pdf.
talvez seria mais facil vc usar o javascript mesmo para isso, se a idéia é só baixar os pdfs…
com java, o mais proximo que cheguei disso foi fazendo requisição e pegando a resposta.
URL url = new URL("http://www.guj.com.br");
URLConnection conn = url.openConnection();
BufferedReader input = new BufferedReader(new InputStreamReader(conn.getInputStream()));
mas no seu caso não da pra ler o buffered reader normalmente, pq é um postscript (PDF),
daí vc poderia pesquisar sobre o pdfbox da apache, que é uma biblioteca para manipular pdf.
espero que ajude.
obrigado pela resposta, vou tentar hoje aqui e qualquer coisa faço um novo post aqui.
infelizmente no bufferreader não pega o conteudo do pdf…
num da pra por o pdf num stream?
não cosegui…
alguma ideia?
Diga uma coisa… seu problema é trazer o PDF a partir da URL, ou é descobrir a URL executando um javascript?
trazer o pdf…
Então o resto é fácil… Você já tem isso aqui:
URL url = new URL("http://www.guj.com.br");
URLConnection conn = url.openConnection();InputStream input = conn.getInputStream();
OutputStream output = new FileOutputStream("c:\\temp\arq.pdf");
int data;
while((data = input.read()) != -1) {
output.write(data);
}
output.flush();
output.close();
input.close();
É mais ou menos isso, fiz sem editor então talvez tenha alguns erros, talvez precise de tratamento de exceção, etc… mas o principal é isso aí, ler do Stream da conexão e escrever no arquivo
infelizmente nao deu certo. no site oficial da uniao nao é tao simples assim…
http://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=1&pagina=1&data=05/07/2011