Dans un projet, je devais vérifier si la chaîne passée était un domaine, donc je l'ai traité.
import socket
domain = "qiita.com"
class DomainError(BaseException): pass
def check_domain(domain):
if domain.find(".") != -1:
try:
host = socket.gethostbyname(domain)
return True
except socket.gaierror:
raise DomainError("domain not found.")
else:
raise DomainError("this is not domain.")
Tout d'abord, vérifiez si la chaîne de domaine contient des points, puis utilisez la fonction socket.gethostbyname
du module ** socket ** pour convertir la ** chaîne de domaine en une adresse IP. ** Si cela fonctionne, il renvoie True car la chaîne de domaine donnée est un domaine normal. Si la fonction donne une erreur, ce n'est pas un domaine normal et renvoie une erreur.
Recommended Posts