python - requests.HTTPError 在 requests.get() 404 响应后未被捕获

标签 python error-handling try-catch python-requests

请求库有点问题。

例如,我在 Python 中有这样一条语句:

try:
   request = requests.get('google.com/admin') #Should return 404

except requests.HTTPError, e:
   print 'HTTP ERROR %s occured' % e.code

由于某种原因,异常没有被捕获。我已经检查了请求的 API 文档,但它有点薄。有没有对图书馆有更多经验的人可以帮助我?

最佳答案

口译员是你的 friend :

import requests
requests.get('google.com/admin')
# MissingSchema: Invalid URL u'google.com/admin': No schema supplied

此外,请求异常:

import requests.exceptions
dir(requests.exceptions)

另请注意,如果状态不是 200,默认情况下 requests 不会引发异常:

In [9]: requests.get('https://google.com/admin')
Out[9]: <Response [503]>

raise_for_status()实现方法:

In [10]: resp = requests.get('https://google.com/admin')

In [11]: resp
Out[11]: <Response [503]>

In [12]: resp.raise_for_status()
  ...
HTTPError: 503 Server Error: Service Unavailable

关于python - requests.HTTPError 在 requests.get() 404 响应后未被捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16206062/

相关文章:

java: super 必须是构造函数中的第一个

c++ - 如果在其他函数内部调用的函数抛出异常会怎样?

python - 如何通过迭代现有的 OSM 数据表在 PostgreSQL 中生成新表

python - URL 以/开头时 XML2PDF 抛出异常

c++ - 奇怪的错误。在循环中使用 rand() 和数组

c# - 如何收集不同功能的错误?

mysql - 在 JSON_EXTRACT 中返回空值

python - 在 python 中具有 block 大小序列的石斑鱼?

python - 无法从 flow_from_dataframe 进行训练 意外没有。类(class)数

java - java中如何编译异常