Αλλαγή γραμματοσειράς
Ημερομηνία Κυρ Οκτ 20, 2019 8:00 pm
foss.aueb.gr
Αρχική Κοινότητας Courses Java

Java

Jsoup library Malformed Url

Προγραμματισμός με Java, ερωτήσεις - απορίες - βιβλιοθήκες - etc
Related Courses: Εισαγωγή στο Προγραμματισμό, Προγραμματισμός με Java, Δομές Δεδομένων με Java

Jsoup library Malformed Url

Δημοσίευσηαπό Open Proskopos » Τρί Οκτ 25, 2011 1:36 pm

Αγκόρια έχω τον εξής κώδικα
Κώδικας: Επιλογή όλων
      try{
            //Connect to the url
            document = Jsoup.connect("http://www.malformedurl.com").get();
            tags = document.select(".tags .tag a");
            num = document.select(".tag .count");
            //Take the wanted data
            UrlFunctions.UrlParse(tags, num);

        }catch(java.net.MalformedURLException e){
            System.out.println("URL DOESNT EXIST");
         }


όταν δεν βρίσκει το url που του δίνω δεν πάει ποτέ στο block try αλλά παρ'όλα αυτά δεν τυπώνει και τίποτα, ενώ θα ήθελα να τυπώσει URL DOESNT EXIST...
φαντάζομαι ότι το exception αυτό δεν είναι το κατάλληλο..
Τι να χρησιμοποιήσω?
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Jsoup library Malformed Url

Δημοσίευσηαπό Master_ex » Τρί Οκτ 25, 2011 2:39 pm

Αγκόρι τα Exceptions του java.net είναι:
Exception Summary
BindException Signals that an error occurred while attempting to bind a socket to a local address and port.
ConnectException Signals that an error occurred while attempting to connect a socket to a remote address and port.
HttpRetryException Thrown to indicate that a HTTP request needs to be retried but cannot be retried automatically, due to streaming mode being enabled.
MalformedURLException Thrown to indicate that a malformed URL has occurred.
NoRouteToHostException Signals that an error occurred while attempting to connect a socket to a remote address and port.
PortUnreachableException Signals that an ICMP Port Unreachable message has been received on a connected datagram.
ProtocolException Thrown to indicate that there is an error in the underlying protocol, such as a TCP error.
SocketException Thrown to indicate that there is an error in the underlying protocol, such as a TCP error.
SocketTimeoutException Signals that a timeout has occurred on a socket read or accept.
UnknownHostException Thrown to indicate that the IP address of a host could not be determined.
UnknownServiceException Thrown to indicate that an unknown service exception has occurred.
URISyntaxException Checked exception thrown to indicate that a string could not be parsed as a URI reference.

πηγή

Δηλαδή το MalformedURLException που χρησιμοποιείς πιάνει ένα url που δεν είναι σωστά σχηματισμένο.
Εσύ μάλλον θέλεις το ConnectException που πιάνει σφάλμα κατά τη σύνδεση σε remote address και port ή
το UnknownHostException που πιάνει ότι το domain name δεν μπόρεσε να γίνει resolved.

Καλύτερα το 1ο imo. Δες τα και πες αν είσαι οκ με αυτό.
Άβαταρ μέλους
Master_ex
Moderator
 
Δημοσ.: 258
Εγγραφη: Παρ Μάιος 08, 2009 12:14 am
Operating System: .:/ arch \:.

Re: Jsoup library Malformed Url

Δημοσίευσηαπό Open Proskopos » Τρί Οκτ 25, 2011 2:47 pm

Master_ex έγραψε:Αγκόρι τα Exceptions του java.net είναι:
Exception Summary
BindException Signals that an error occurred while attempting to bind a socket to a local address and port.
ConnectException Signals that an error occurred while attempting to connect a socket to a remote address and port.
HttpRetryException Thrown to indicate that a HTTP request needs to be retried but cannot be retried automatically, due to streaming mode being enabled.
MalformedURLException Thrown to indicate that a malformed URL has occurred.
NoRouteToHostException Signals that an error occurred while attempting to connect a socket to a remote address and port.
PortUnreachableException Signals that an ICMP Port Unreachable message has been received on a connected datagram.
ProtocolException Thrown to indicate that there is an error in the underlying protocol, such as a TCP error.
SocketException Thrown to indicate that there is an error in the underlying protocol, such as a TCP error.
SocketTimeoutException Signals that a timeout has occurred on a socket read or accept.
UnknownHostException Thrown to indicate that the IP address of a host could not be determined.
UnknownServiceException Thrown to indicate that an unknown service exception has occurred.
URISyntaxException Checked exception thrown to indicate that a string could not be parsed as a URI reference.

πηγή

Δηλαδή το MalformedURLException που χρησιμοποιείς πιάνει ένα url που δεν είναι σωστά σχηματισμένο.
Εσύ μάλλον θέλεις το ConnectException που πιάνει σφάλμα κατά τη σύνδεση σε remote address και port ή
το UnknownHostException που πιάνει ότι το domain name δεν μπόρεσε να γίνει resolved.

Καλύτερα το 1ο imo. Δες τα και πες αν είσαι οκ με αυτό.

Και με τα δυο το ίδιο αποτέλεσμα... :\
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Jsoup library Malformed Url

Δημοσίευσηαπό arpl » Τρί Οκτ 25, 2011 2:53 pm

Μπορείς πάντα να πιάνεις το Exception:
Κώδικας: Επιλογή όλων
try {
// ...
} catch (Exception e) {
// ...(Exception Handler Code)
}


Μέσα στον Exception Handler μπορείς να διερευνήσεις τον τύπο του Exception που έσκασε τελικά.
Άβαταρ μέλους
arpl
Open Member
 
Δημοσ.: 66
Εγγραφη: Πέμ Μάιος 07, 2009 5:34 pm
Τοποθεσια: /dev/null
Operating System: NONE

Re: Jsoup library Malformed Url

Δημοσίευσηαπό Open Proskopos » Τρί Οκτ 25, 2011 2:55 pm

arpl έγραψε:Μπορείς πάντα να πιάνεις το Exception:
Κώδικας: Επιλογή όλων
try {
// ...
} catch (Exception e) {
// ...(Exception Handler Code)
}


Μέσα στον Exception Handler μπορείς να διερευνήσεις τον τύπο του Exception που έσκασε τελικά.

Αχα! έτσι δηλαδή πιάνω όλα τα exceptions και μετά μέσα στο catch μπορώ να βρω τι παίζει..
Ευχαριστώ..!
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Jsoup library Malformed Url

Δημοσίευσηαπό c00kiemon5ter » Τρί Οκτ 25, 2011 2:56 pm

Αυτό θες να κάνεις

Κώδικας: Επιλογή όλων
        Document doc;
        Connection.Response responce = null;
        try {
            doc = Jsoup.connect("http://mewmewmewmew.foo").get();
        } catch (UnknownHostException ex) {
            System.out.println("Unkown host");
        } catch (IOException ex) {
            System.out.println("404");
       }
Computers are simple. You just write an instruction and they follow it.
Εικόνα
a cookie! ~ i.will.do.science.to.it! Εικόνα
Άβαταρ μέλους
c00kiemon5ter
cookie hunter
 
Δημοσ.: 554
Εγγραφη: Δευτ Μάιος 11, 2009 1:55 am
Τοποθεσια: (void *)NULL
Operating System: ~ Arch ~ .: Gentoo :.

Re: Jsoup library Malformed Url

Δημοσίευσηαπό Open Proskopos » Τρί Οκτ 25, 2011 3:04 pm

c00kiemon5ter έγραψε:Αυτό θες να κάνεις

Κώδικας: Επιλογή όλων
        Document doc;
        Connection.Response responce = null;
        try {
            doc = Jsoup.connect("http://mewmewmewmew.foo").get();
        } catch (UnknownHostException ex) {
            System.out.println("Unkown host");
        } catch (IOException ex) {
            System.out.println("404");
       }


Βασικά την πρώτη φορά που έτρεξα αυτό που είπε ο arpl μου έβγαλε κανονικά το error.. Τώρα δεν το βγαζει ξανα... Και με τον κώδικα σου C00kie πάλι δεν βγάζει κάτι...
Ο κώδικας τώρα έιναι...

Κώδικας: Επιλογή όλων
            try{
                //Connect to the url
                //document = Jsoup.connect(UrlString).get();
                document = Jsoup.connect("http://www.in.com/isbn/47889554414").get();
         
                tags = document.select(".tags .tag a");
                num = document.select(".tag .count");
                //Take the wanted data
                UrlFunctions.UrlParse(tags, num);
               
            }catch (UnknownHostException ex) {
            System.out.println("Unkown host");
            } catch (IOException ex) {
            System.out.println("404");
            }catch (Exception e){
                System.out.println("ERROR");
            }

"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Jsoup library Malformed Url

Δημοσίευσηαπό c00kiemon5ter » Τρί Οκτ 25, 2011 3:19 pm

Τί θα έπρεπε να βγάζει δλδ ?

Το 'http://www.in.com/isbn/47889554414' επιστρέφει 302 και όχι 404, και σε κάνει redirect αλλού, άρα δε πρόκειται να αποτύχει η Connection της Jsoup.
Computers are simple. You just write an instruction and they follow it.
Εικόνα
a cookie! ~ i.will.do.science.to.it! Εικόνα
Άβαταρ μέλους
c00kiemon5ter
cookie hunter
 
Δημοσ.: 554
Εγγραφη: Δευτ Μάιος 11, 2009 1:55 am
Τοποθεσια: (void *)NULL
Operating System: ~ Arch ~ .: Gentoo :.

Re: Jsoup library Malformed Url

Δημοσίευσηαπό Open Proskopos » Τρί Οκτ 25, 2011 3:26 pm

Δεν υπάρχει αυτο το url που έδωσα.. οπότε θέλω να βγάλει κάποιο error.. δεν ξέρω ποιο exception.. αλλά εμένα δεν βγάει τίποτα... με κάποιο exception δεν θα έπρεπε να δω οτι το url δεν υπάρχει? Αυτό θέλω...
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Jsoup library Malformed Url

Δημοσίευσηαπό c00kiemon5ter » Τρί Οκτ 25, 2011 3:31 pm

Open Proskopos έγραψε:Δεν υπάρχει αυτο το url που έδωσα.. οπότε θέλω να βγάλει κάποιο error.. δεν ξέρω ποιο exception.. αλλά εμένα δεν βγάει τίποτα... με κάποιο exception δεν θα έπρεπε να δω οτι το url δεν υπάρχει? Αυτό θέλω...


c00kiemon5ter έγραψε:Το 'http://www.in.com/isbn/47889554414' επιστρέφει 302 και όχι 404, και σε κάνει redirect αλλού, άρα δε πρόκειται να αποτύχει η Connection της Jsoup.


cantdo. Αν θες μπορείς να ψάχνεις το <title> ή μέσα σε header για 'Page not Found'.
Δεν υπάρχει κανένας τρόπος να ξέρεις αν υπάρχει ή όχι μία σελίδα αν οι devs που τη φτιάξανε, επιστρέφουν τυχαία status codes.
Computers are simple. You just write an instruction and they follow it.
Εικόνα
a cookie! ~ i.will.do.science.to.it! Εικόνα
Άβαταρ μέλους
c00kiemon5ter
cookie hunter
 
Δημοσ.: 554
Εγγραφη: Δευτ Μάιος 11, 2009 1:55 am
Τοποθεσια: (void *)NULL
Operating System: ~ Arch ~ .: Gentoo :.

Επόμενο

Επιστροφή στην Java

cron
foss.aueb.gr

Μελη σε συνδεση

Συνολικά υπάρχουν 0 μέλη συνδεδεμένα: 0 εγγεγραμμένο, 0 κρυφοί και 0 επισκέπτης (με βάση τα μέλη που έχουν συνδεθεί τα τελευταία 5 λεπτά)
Περισσότερα μέλη σε σύνδεση 167 την Κυρ Οκτ 02, 2016 2:55 am

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες

Γενέθλια

Κανένα μέλος δεν έχει γενέθλια σήμερα