Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: Controllare Errore 404

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102

    Controllare Errore 404

    C'è una modalità in java che inviandogli un link mi dice se esiste?

    Esempio:
    string link = "http://www.google.it/index.html"
    validate(link)


    se quel link genera il classico errore 404 di pagina non trovata ci sarà un metodo che restituirà il risultato...


    Grazie Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Scusate se rompo un po ma devo sapere entro stasera se questa cosa si può fare.


    Grazie

  3. #3
    codice:
    try {
                URL url = new URL(tuoUrl); 
                Connection c = (HttpURLConnection) url.openConnection();
                c.setRequestProperty("User-Agent", "userAgent"); 
                c.connect();
                int responseCode = c.getResponseCode();
                if (responseCode == 404) {
                    
                    //fai quello che devi
    
                }
    ......

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Grazie, veramente molto gentile, ma avrei alcune domande in proposito:
    codice:
     URL url = new URL(tuoUrl); 
    Connection c = (HttpURLConnection)url.openConnection();
    c.setRequestProperty("User-Agent", "userAgent"); 
    c.connect();
    int responseCode = c.getResponseCode();
    if (responseCode == 404)
    {						                
    	Fa quello che deve fare
    }
    La classe Connection in che libreria è? Io utilizzo Eclipse e come suggerimento di Eclipse mi dà 5 possibili di import da fare e non so cosa scegliere

    le altre due le ho trovate che sono
    codice:
    import java.net.HttpURLConnection;
    import java.net.URL;


    Grazie per il tuo aiuto

  5. #5
    in teoria ti servono solo gli import da te specificati...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Dopo aver importato
    codice:
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;

    Il codice a posto è così:
    codice:
    String siteLink = "http://www.unimi.it/paginachenonesiste.html";
    try
    	{
    		URL url = new URL(siteLink);
    		HttpURLConnection c = (HttpURLConnection) url.openConnection();
    		c.setRequestProperty("User-Agent", "userAgent"); 
    		c.connect();
    		int responseCode = c.getResponseCode();
    									
    		if (responseCode == 404)
    		{						                
    			Fa quello che deve fare
    		}
    	}
    	catch (MalformedURLException mue)
    	{
    		mue.printStackTrace();
    	}
    	catch (IOException ioe)
    	{
    		ioe.printStackTrace();
    	}
    Se faccio andare col debug il response che mi torna è 200 non 404. Su una tabella che ho visto il codice 200 dice che è tutto corretto quando ovviamente non è vero perchè la pagina non esistetabella

  7. #7
    si ma il documento html esiste, quindi è corretta la risposta del server...

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    SI ma com'è possibile che qualsiasi pagina chiami esiste sempre?

    Ho provato persino a chiamare "jijeogibojwiojboi.html" e mi dà il 200

  9. #9
    hai ragione a dire che la la pagina non esiste, ma il server invece di darti il code 404, ti da ugualmente un code 200 e fa un redirect a quell'html che appare

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    A parte quello su cui si può sorvolare c'è una cosa che mi preme di più

    Se il dominio non esiste proprio (es. chiamo www.ilmiosito.com) mi parte l'eccezione di UnknownHostException e qui nessun problema.

    Il problema che quando non è disponibile la connessione a internet genera la stessa eccezione quando prova a connettersi.

    In caso di linea mancante vorrei che non eseguisse il controllo e proseguisse come se la pagina esistesse. Così il programma non si blocca


    Si può fare?

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.