请求 – 如何判断你是否得到404

我正在使用请求库和访问一个网站从它收集数据与以下代码:

r = requests.get(url) 

我想添加错误testing,以便input不正确的URL并返回404错误。 如果我故意input一个无效的URL,当我这样做:

 print r 

我得到这个:

 <Response [404]> 

编辑:

我想知道如何testing。 对象types仍然相同。 当我做r.contentr.text ,我只是得到一个自定义404页面的HTML。

r.status_code属性 :

 if r.status_code == 404: # A 404 was issued. 

演示:

 >>> import requests >>> r = requests.get('http://httpbin.org/status/404') >>> r.status_code 404 

如果您想requests引发错误代码(4xx或5xx)的exception,请调用r.raise_for_status()

 >>> r = requests.get('http://httpbin.org/status/404') >>> r.raise_for_status() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "requests/models.py", line 664, in raise_for_status raise http_error requests.exceptions.HTTPError: 404 Client Error: NOT FOUND >>> r = requests.get('http://httpbin.org/status/200') >>> r.raise_for_status() >>> # no exception raised.