urllib.error —- 由 urllib.request 引发的异常类

源代码: Lib/urllib/error.py [https://github.com/python/cpython/tree/3.13/Lib/urllib/error.py]


urllib.error 模块为 urllib.request 所引发的异常定义了异常类。 基础异常类是 URLError

下列异常会被 urllib.error 按需引发:

  • exception urllib.error.URLError
  • 处理程序在遇到问题时会引发此异常(或其派生的异常)。 它是 OSError 的一个子类。

    • reason
    • 此错误的原因。 它可以是一个消息字符串或另一个异常实例。

在 3.3 版本发生变更: URLError 曾经是 IOError 的子类型,现在它是 OSError 的一个别名。

  • exception urllib.error.HTTPError(url, code, msg, hdrs, fp)
  • 虽然是一个异常(URLError 的一个子类),HTTPError 也可以作为一个非异常的文件类返回值(与 urlopen() 返所回的对象相同)。 这适用于处理特殊 HTTP 错误例如作为认证请求的时候。

Added in version 3.4.

  • fp
  • 可供读取 HTTP 错误消息体的文件型对象。
  • exception urllib.error.ContentTooShortError(msg, content)
  • 此异常会在 urlretrieve() 函数检测到已下载的数据量少于预期量(由 Content-Length 标头给出)时被引发。

    • content
    • 已下载(并可能被截断)的数据。