2012-07-23 12 views

答えて

31

あなたはこのためにsocket.gethostbyname()を使用することができます。

>>> 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 

あなたの関数は次のようになります。

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

例:

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

はちょうどことを見ました分前...私はhにする必要があります私は0と1を返す以外は試してみてください。ありがとう! – Amir

+1

「真」と「偽」について聞いたことがありますか? https://docs.python.org/2/library/types.html#types.BooleanType –

+1

彼はおそらく持っていると思いますが、質問には0と1が明示的に尋ねられます。おそらく、あなたのコメントは質問作成者の方がよいでしょう。 –

関連する問題