Ποια είναι τα βήματα που πρέπει να ακολουθήσω για την επίλυση του σφάλματος:
java.net.UnknownHostException: Invalid hostname for server: local
Πρόσθεσα το νέο εικονικό όνομα κεντρικού υπολογιστή στον εξομοιωτή Android, αλλά το αποτέλεσμα επιστρέφει στο
java.net.UnknownHostException virtualhostname at
java.net.InetAddress.lookUpHostByName(InetAddress.java:506)
Όταν πληκτρολογώ τη διεύθυνση URL του virtualhost στον υπολογιστή μου, λειτουργεί στην οθόνη. Στη συνέχεια, όταν έτρεξα στον εξομοιωτή και έλεγξα στο Logcat, δεν μπορούσα να διαβάσω ή να ελέγξω την κατάσταση HTTP αν 200, 202 ή έναν αριθμό κωδικού σφάλματος. Απλά επέστρεψε στο UnknownHostException
.
Αυτό που λέει στην πραγματικότητα η εξαίρεση είναι ότι δεν υπάρχει γνωστός διακομιστής με το όνομα "local". Η εικασία μου είναι ότι προσπαθείτε να συνδεθείτε στον τοπικό σας υπολογιστή. Δοκιμάστε με το hostname "localhost"
αντί αυτού, ή ίσως 127.0.0.0.1
ή ::1
(το τελευταίο είναι IPv6).
Από το javadocs:
Εκτοξεύεται για να δηλώσει ότι η διεύθυνση IP ενός κεντρικού υπολογιστή δεν μπόρεσε να προσδιοριστεί.
Το 127.0.0.1
ή ::1
ή "localhost"
θα πρέπει πάντα να είναι η διεπαφή loopback, οπότε αν αυτό δεν δουλέψει θα εκπλαγώ πραγματικά.
Εάν υπάρχει πράγματι ένας διακομιστής με όνομα "local" στο δίκτυό σας - εξετάστε τις ρυθμίσεις DNS ή προσθέστε τον στο αρχείο hosts.
java.net.UnknownHostException: host is unresolved:
Ανατρέπεται για να υποδείξει ότι η διεύθυνση IP ενός κεντρικού υπολογιστή δεν μπόρεσε να προσδιοριστεί.
Αυτή η εξαίρεση εγείρεται επίσης όταν είστε συνδεδεμένοι σε ένα έγκυρο wifi αλλά ο δρομολογητής δεν λαμβάνει το διαδίκτυο. Είναι πολύ εύκολο να αναπαραχθεί αυτό:
Θα παρατηρήσετε αυτό το σφάλμα!!
Δεν μπορείτε να το λύσετε πραγματικά, μπορείτε μόνο να ειδοποιήσετε τον χρήστη με χάρη. (κάτι σαν - "Αδυναμία σύνδεσης")
Προσπαθείτε να συνδεθείτε στον τοπικό σας υπολογιστή.Δοκιμάστε με το όνομα κεντρικού υπολογιστή "localhost" ή ίσως ::/ - το τελευταίο είναι ipv6