Ragazzi, ho un programma che deve recuperare l'html di diverse pagine web, dove nell'url ci sono i get per formare la query e mostrare i risultati.
Inserendo i singoli Url tutto vā come deve, il vero problema č quando i risultati mostrati su queto sito si dividono in pių pagine (di cui conosco giā a priori gli url).

Infatti, mentre se per la prima pagina tutto vā come deve, quando tento di visualizzare le pagine successive Java mi restituisce sempre e cmq la prima pagina.

Non č un problema di url, anche perchč ho provato la seguente operazione. Aprire la prima pagina dei risultati, clikkare su next per andare alla pagina 2 , prendere l'url. Chiudere Firefox, riaprirlo e reincollare l'url per la pagina due. La pagina che mi si visualizza č sempre e comunque la prima.

Credo sia un problema di sessione. Se la sessione non rimane aperta non vengono visualizzate le pagine successive ma sempre e solo la prima.

Domanda: Come mantengo in java aperta la sessione e una volta aperta la pagina uno... dire al programma di andare a copiare l'html della pagina successiva?

Spero di essere stato chiaro.

Vi allego cmq il metodo che apre le varie pagine, passando nel metodo l'indirizzo url.

codice:
package control;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class getUrl {

	
	public void downloadFromUrl (URL url, String localFilename, boolean bool) throws IOException{
    InputStream is = null;
    FileOutputStream fos = null;

    try
    {
    	
        URLConnection urlConn = url.openConnection ();
      
       
        urlConn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 4.0; Windows NT)");

        is = urlConn.getInputStream ();
        fos = new FileOutputStream ("Ricerca Risultati/" + localFilename+ ".txt", bool);

        byte[] buffer = new byte[1024];
        int len;

        while ((len = is.read (buffer)) > 0)
            fos.write (buffer, 0, len);
    }
    finally
    {
        try {
            if (is != null)
                is.close ();
        } finally {
            if (fos != null)
                fos.close ();
        }
    }
}
}