对于 Python 2.x
这里可以使用 urllib、urllib2 或 httplib。但是请注意,urllib 和 urllib2 使用 httplib。因此,根据您是否计划多次(1000 次)执行此检查,最好使用 httplib。其他文档和示例在此处。
示例代码:
import httplib
try:
h = httplib.HTTPConnection("www.google.com")
h.connect()
except Exception as ex:
print "Could not connect to page."
对于 Python 3.x
与 Python 2.x 中的 urllib(或 urllib2)和 httplib 类似的故事适用于 Python 3.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 异常(请参阅套接字文档)。