Python2.xの場合
ここでは、urllib、urllib2、またはhttplibを使用できます。ただし、urllibとurllib2はhttplibを使用することに注意してください。したがって、このチェックを何度も(数千回)実行する予定があるかどうかによっては、httplibを使用することをお勧めします。追加のドキュメントと例はここにあります。
コード例:
import httplib
try:
h = httplib.HTTPConnection("www.google.com")
h.connect()
except Exception as ex:
print "Could not connect to page."
Python3.xの場合
Python 2.xのurllib(またはurllib2)およびhttplibと同様の話が、Python3.xのurllib2およびhttp.clientライブラリに適用されます。繰り返しますが、http.clientはより高速である必要があります。その他のドキュメントと例については、こちらをご覧ください。
コード例:
import http.client
try:
conn = http.client.HTTPConnection("www.google.com")
conn.connect()
except Exception as ex:
print("Could not connect to page.")
ステータスコードを確認したい場合は、交換する必要があります
conn.connect()
と
conn.request("GET", "/index.html") # Could also use "HEAD" instead of "GET".
res = conn.getresponse()
if res.status == 200 or res.status == 302: # Specify codes here.
print("Page Found!")
どちらの例でも、URLが存在しない場合に関連する特定の例外をすべてではなくキャッチしたい場合は、代わりにsocket.gaierror例外をキャッチしてください(ソケットのドキュメントを参照)。