(Python) gaierror: [Errno 11004] getaddrinfo failed
from Tkinter import *
import tkMessageBox, socket
root = Tk()
root.title("pynet v1.0")
root.config(bg='black')
root.resizable(0,0)
text = Text()
text1 = Text()
text1.config(width=15, height=1)
text1.config(bg="white", fg="red")
text1.pack()
def Info():
targetip = socket.gethostbyname_ex(text1.get("1.0", END))
text.insert(END, targetip)
b = Button(root, text="Enter", width=10, height=2, command=Info)
b.config(fg="black", bg="red")
b.pack(side=TOP, padx=5)
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
text.config(width=25, height=5, bg="white", fg="red")
text.pack(side=LEFT, fill=Y)
scrollbar.config(command=text.yview)
text.config(yscrollcommand=scrollbar.set)
root.mainloop()
Je suis en train de récupérer l'Adresse IP d'un site web, mais je reçois ce message d'erreur "gaierror: [Errno 11004] getaddrinfo failed" à la ligne 18, votre aide sera appréciée, Merci.
L'Erreur:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python26\lib\lib-tk\Tkinter.py", line 1410, in __call__
return self.func(*args)
File "C:\Users\Rabia\Desktop\gethostinfo.py", line 18, in Info
targetip = socket.gethostbyname_ex(text1.get("1.0", END))
gaierror: [Errno 11004] getaddrinfo failed
- De sorte que personne d'autre n'a compter de sortir, à la ligne 19 est
targetip = socket.gethostbyname_ex(text1.get("1.0", END) + "\r\n")
- Vous devez vous débarrasser de la première wild importation
from socket import *
. Il ne fait rien sans nuire à la performance et de gâcher de l'espace de noms. Qui ne sera probablement pas à résoudre votre problème
Vous devez vous connecter pour publier un commentaire.
Ma conjecture est parce que vous êtes à l'aide d'un nom d'hôte qui a une fuite de saut de ligne. À l'heure où j'écris cette réponse, votre montre le code:
Lorsque vous utilisez l'index
END
vous obtenir le plus de saut de ligne est ajouté par le widget texte. Vous devez bande de désactiver ou de l'utilisation de l'indice"end-1c"
.Pourquoi êtes-vous en ajoutant CRLF (
\r\n
) pour le nom d'hôte avant de regarder?Si le retrait qui ne résout pas le problème, imprimez le texte exact que vous êtes de passage à gethostbyname à assurez-vous que c'est un nom d'hôte valide.