我正在尝试编写一个脚本来测试网页是否存在,如果它在不下载整个页面的情况下进行检查会很好。
这是我的出发点,我已经看到多个示例以相同的方式使用 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