Setar Cookies

2 respostas
aszarael

Pessoal,

Tenho uma classe para download de paginas da net, porem agora preciso fazer o download e artigos de sites protegidos com cookies, o que me leva a ter que implementar na minha classe algum meio de setar o cookie de uma seção ativa.
Alguem sabe como fazer isso ? setar o cookie ?
Ou algum outro meio de conseguir os arquivos simunlando estar logado ao site, pois as paginas q quero so são permitidas visualização quando eu me logo.

ps. Vale lembrar que eu tenho a login e senha do site, so que o volume de informação a ser obtida e muito grande para ser feito manualmente.

2 Respostas

afdestro

Cookie cookie = new Cookie(“cookie”, “4125”);
response.addCookie(cookie);

agora… pra conseguir fazer o download de não sei o que protegido por não sei quem… dai não sei não ;p

aszarael
Bom, vou mostrar minha classe de download para que possa entender
/*
 * download.java
 *
 * Created on 20 de Outubro de 2006, 09:45
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package baixar;


import baixar.Leitura;// Adicionando classe de leitura de dados do teclado
import java.io.*;
import java.io.File;
import java.io.FileWriter;
import java.util.*;
import java.net.*; // adicionando a classe urlconnection para poder baixar arquivos

/**
 *
 * @author Isael Faria Junior
 */
public class download {
    
   Leitura teclado = new Leitura(); // instanciando classe 
   
   public void getpagina(String endereco) throws IOException{
   try {
       //CookieHandler.setDefault(new ListCookieHandler());
       CookieHandler.getDefault();
      // Socket localsocket = new Socket("Localhost",8180);
      // DataOutputStream pegapagina = new DataOutputStream (localsocket.getOutputStream()); 
      //Socket s = null; //Declaro o socket cliente
       //PrintStream ps = null;//Declaro a Stream de saida de dados
       //s = new Socket("localhost",8118); //Cria o socket com o recurso desejado na porta especificada
       FileWriter writer = new FileWriter(new File("temp1.htm")); // criar o arquivo - colocar, true para append
       PrintWriter grava = new PrintWriter(writer,true);  //  cria objeto para inserir texto, true faz append por linha
       URL url = new URL(endereco); // instancia a classe url
       //pegapagina.writeBytes("Get "+endereco);
       //BufferedReader reader = new BufferedReader(new InputStreamReader(localsocket.getInputStream()));// cria um leitor de buffer e recebe o input strem e o urlstrem que e o resultado da consulta.
       BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));// cria um leitor de buffer e recebe o input strem e o urlstrem que e o resultado da consulta.
       String linha= new String("");// cria string linhas
       while ((linha = reader.readLine()) != null){ // enquando o buffer não estiver vazio
             grava.println(linha); // adiciona ao arquivo  
             grava.flush();
     }
        grava.close(); // fechar gravar
        writer.close(); //fechar writer
        //ps.println();
        //s.close();     
     }
     catch(UnknownHostException ioe){
         System.out.println("Erro ao acessar a url desejada.");
     }
     catch(SocketException ioe){
         System.out.println("Erro de protocolo TCP");
     }
     catch(UnknownServiceException ioe){
         System.out.println("Erro ao ler a pagina");
     }
     catch(EOFException ioe){
         System.out.println("Ouve uma interrupção ao gravar o arquivo");
     }
     catch(FileNotFoundException ioe){
         System.out.println("A pagina requisitada ou caminho invalido");
     }
     catch(CharConversionException ioe){
         System.out.println("Erro ao converter a url");
     }
     catch(UnsupportedEncodingException ioe){
         System.out.println("The Character Encoding is not supported.");
     }
        catch(IOException e){
         System.out.println("Algum problema ocorreu ao criar ou enviar dados pelo socket.");
     }
   }
}

O que quero fazer e quando executar essa classe ele set o cookie da sessão autenticada que usei e baixe o arquivo como se eu fizesse do navegador ?

Criado 28 de dezembro de 2006
Ultima resposta 29 de dez. de 2006
Respostas 2
Participantes 2