Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    24

    Navigare tra pagine web con Java

    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 ();
            }
        }
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Quando si posta del codice, si devono utilizzare gli appositi tag CODE per mantenerlo indentato e leggibile.


    Ciao.
    "Perchč spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.