我想编写一个脚本来测试网页是否存在,如果能够在不下载整个页面的情况下进行检查,那就太好了。
这是我的起点,我看到了多个例子都是以相同的方式使用httplib的,但是我检查的每个站点都只返回false。
import httplib
from httplib import HTTP
from urlparse import urlparse
def checkUrl(url):
p = urlparse(url)
h = HTTP(p[1])
h.putrequest('HEAD', p[2])
h.endheaders()
return h.getreply()[0] == httplib.OK
if __name__=="__main__":
print checkUrl("http://www.stackoverflow.com") # True
print checkUrl("http://stackoverflow.com/notarealpage.html") # False
有什么想法吗?
编辑
有人建议使用这个,但他们的帖子被删除了.. urllib2是否避免下载整个页面?
import urllib2
try:
urllib2.urlopen(some_url)
return True
except urllib2.URLError:
return False