Python erhält den Statuscode der HTTP-Anfrage (200, 404 usw.)
欧阳克2017-06-28 09:25:31
0
2
1106
Python ruft den Statuscode der HTTP-Anfrage (200, 404 usw.) ab, ohne auf den gesamten Quellcode der Seite zuzugreifen, was eine Verschwendung von Ressourcen darstellt:
import httplib
def get_status_code(host, path="/"):
""" This function retreives the status code of a website by requesting
HEAD data from the host. This means that it only requests the headers.
If the host cannot be reached or something else goes wrong, it returns
None instead.
"""
try:
conn = httplib.HTTPConnection(host)
conn.request("HEAD", path)
return conn.getresponse().status
except StandardError:
return None
print get_status_code("segmentfault.com") # prints 200
print get_status_code("segmentfault.com", "/nonexistant") # prints 404
参考文章:Python实用脚本清单
http不只有
get
方法(请求头部
+正文
),还有head
方法,只请求头部
。你用
get
请求就会请求整个头部
+正文
, 可以试下head
方法, 直接访问头部!