Вы не хотите использовать команду ping, но вы можете использовать socket.gethostbyname()
функцию Python , чтобы определить, существует ли хост.
def is_valid_host(hostname):
try:
addr = socket.gethostbyname(hostname)
except socket.gaierror, ex:
return False
return True
hosts = ['abc', 'yahoo.com', 'google.com', 'nosuchagency.gov']
filter(is_valid_host, hosts)
Это займет кучу времени и, возможно, рассердит вашего провайдера на вас. Вам тоже лучше:
Использование низкоуровневого интерфейса DNS, такого как dnspython или
Поиск прямого интерфейса с регистраторами доменов, такого как whois , и запрос этого.
Вы не собираетесь использовать это для спама, не так ли?