Pessoal preciso de uma ajuda na seguinte questão:
tenho uma classe que baixa um arquivo de determinada URL.
Estou utilizando a classe UrlConnection e consigo baixar arquivos normalmente, porém um determinado arquivo da seguinte url :http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip
não vai através da classe, e só consigo baixar via browser por que é aberta uma janela pra confirmar o download.
Queria saber se alguém tem alguma idéia de como obter esse arquivo sem precisar confimar no botao ok da janela q aparece via browser.
poste o código java que você está tentando usar para baixar o arquivo.
só uma coisa, você quer que em uma página de uma aplicação sua ele baixe o arquivo para a máquina cliente ? ou você quer que uma classe sua mesmo, executada diretamente na máquina baixe o arquivo?
R
ramilitani
A exceção que dá: Server redirected too many times (20)
StringurlName="http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip";try{URLurl=newURL(urlName);Filefile=newFile("arquivo.zip");FileWriterfo=newFileWriter(file);HttpURLConnectionurlConnection=(HttpURLConnection)url.openConnection();urlConnection.setDoInput(true);BufferedReaderin=newBufferedReader(newInputStreamReader(urlConnection.getInputStream()));Stringline=null;while((line=in.readLine())!=null){fo.write(line);}in.close();fo.close();urlConnection.disconnect();}catch(MalformedURLExceptione){System.out.println("Erro ao criar URL. Formato inválido.");}catch(IOExceptione){System.out.println(e.getMessage());}
}
}
R
ramilitani
Eu quero baixar esse arquivo para minha máquina mesmo, gravando ele em um arquivo.
E
evefuji
já vi alguns sites só permitirem download se enviar o header de alguma requisição anterior, se não enviar, ele vai te redirecionar para obter esse header. Pega os headers, e coloca num próximo request para ver se soluciona.
R
ramilitani
Bom, o sistema não é web, apenas uso a classe urlConnection para pegar o arquivo da url. Esse arquivo é gravado em minha máquina local.
Com outras urls consigo, o problema tá nessa url da loteria caixa. Queria pegar o arquivo q tem todos os resultados, mas só consgio via browser, pela classe java q fiz da um erro q execedeu o tempo limite.