Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    197

    Java Get Source Code from logged Page

    Avrei bisogno di Prendere il codice sorgente di una pagina, se non si è loggati a quella pagina, il programma si logga e la prende comunque.
    L'unico programma serio che ho trovato è questo :

    codice:
    import java.net.*;
    import java.io.*;
    
    public class ConnectToURL {
    
        // Variables to hold the URL object and its connection to that URL.
        private static URL URLObj;
        private static URLConnection connect;
    	
        public static void main(String[] args) {
            try {
                // Establish a URL and open a connection to it. Set it to output mode.
                URLObj = new URL("http://www.examplesite.com/login.php");
                connect = URLObj.openConnection();
                connect.setDoOutput(true);	
            }
            catch (MalformedURLException ex) {
                System.out.println("The URL specified was unable to be parsed or uses an invalid protocol. Please try again.");
                System.exit(1); 
            }
            catch (Exception ex) {
                System.out.println("An exception occurred. " + ex.getMessage());
                System.exit(1);
            }
    		
    		
            try {
                // Create a buffered writer to the URLConnection's output stream and write our forms parameters.
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connect.getOutputStream()));
                writer.write("username=MyUsername&pass=MyPassword&submit=Login");
                writer.close();
    			
                // Now establish a buffered reader to read the URLConnection's input stream.
                BufferedReader reader = new BufferedReader(new InputStreamReader(connect.getInputStream()));
    			
                String lineRead = "";
    			
                // Read all available lines of data from the URL and print them to screen.
                while ((lineRead = reader.readLine()) != null) {
                    System.out.println(lineRead);
                }
    			
                reader.close();
            }
            catch (Exception ex) {
                System.out.println("There was an error reading or writing to the URL: " + ex.getMessage());
            }
        }
    }
    e lo preso da Qui .

    Nonostante sia da un po che programmo in java e nonostante abbia provato a cambiare le cose cambiabili il programma quando si trova davanti a una pagina loggata prende il codice di quando non lo è, ovvero o la pagina di login o nada.
    Sapreste aiutarmi a sistemarlo? Premetto che su questo campo sono un po negato e che mi basterebbero, se non volete provare a sistemare il codice, delle pagine guida da cui portare avanti questo progetto. Grazie mille G181
    G181

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    197
    Ho visto che questa discussione era già stata fatta e il risultato fu questo per loggarsi nella pagina login:
    codice:
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("https://www.registroelettronico.com/scuole/fedi_pt/index.php");
    
    List<NameValuePair> nvps = new ArrayList <NameValuePair>();
    nvps.add(new BasicNameValuePair("form_username", "xxx"));
    nvps.add(new BasicNameValuePair("form_password", "yyy"));
    nvps.add(new BasicNameValuePair("form_stato", "login"));
    
    httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
    
    HttpResponse resp = httpClient.execute( httpPost );
    HttpEntity entity = resp.getEntity();
    
    if (entity != null) {
        FileWriter fw = new FileWriter("output.html");
        PrintWriter pw = new PrintWriter( fw );
        InputStream is = entity.getContent();
        BufferedReader br = new BufferedReader( new InputStreamReader(is) );
        String linea = null;
        while((linea = br.readLine()) != null) {
            pw.println( linea );
        }
        pw.flush();
        pw.close();
        br.close();
    }
    a me pero oltre a questo servirebbe il passaggio descritto dopo che pero non viene spiegato nella discussione ovvero una volta fatto il login, accedere sempre a una pagina a cui serve il login e scaricarne il codice sorgente. Nella discussione parlano di passaggio di cookies...
    G181

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.