2012-07-23 54 views

Trả lời

31

Bạn có thể sử dụng socket.gethostbyname() cho việc này:

>>> import socket 
>>> socket.gethostbyname('google.com') 
'74.125.224.198' 
>>> socket.gethostbyname('foo')   # no host 'foo' exists on the network 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
socket.gaierror: [Errno 8] nodename nor servname provided, or not known 

Chức năng của bạn có thể trông như thế này:

def hostname_resolves(hostname): 
    try: 
     socket.gethostbyname(hostname) 
     return 1 
    except socket.error: 
     return 0 

Ví dụ:

>>> hostname_resolves('google.com') 
1 
>>> hostname_resolves('foo') 
0 
+0

chỉ thấy rằng một phút trước ... tôi cần phải h ave thử của tôi ngoại trừ để trở về 0 và 1. Cảm ơn! – Amir

+1

Bạn đã nghe nói về 'True' và' False' chưa? https://docs.python.org/2/library/types.html#types.BooleanType –

+1

Tôi nghĩ rằng anh ấy có thể có, nhưng câu hỏi một cách rõ ràng yêu cầu 0 và 1. Có lẽ bình luận của bạn là tốt hơn chỉ vào tác giả câu hỏi. –

Các vấn đề liên quan