pyramid.httpexceptions

HTTP异常

此模块包含金字塔HTTP异常类。每个类都与单个HTTP状态代码相关。每个类都是 HTTPException . 每个异常类也是 response 对象。

每个异常类都有一个状态代码,根据 RFC 2068RFC 7538 :100-300的代码不是真正的错误;400是客户端错误,500是服务器错误。

例外
HTTPException
HTTPSuccessful
  • 200 - HTTPOk
  • 201-创建的http
  • 202-接受HTTPA
  • 203-HTTPN非授权信息
  • 204-httpnocontent
  • 205-高温预处理内容
  • 206-http部分内容
HTTPRedirection
  • 300-HTTPmultipleechoices
  • 301-HTTPmoved永久性
  • 302—HTTP发现
  • 303-httpsee其他
  • 304-HTTPNotModified
  • 305-httpuseproxy
  • 307-http临时间接
  • 308-HTTPPermanentDirect公司
HTTPError
HTTPClientError
  • 400-httpbadRequest
  • 401-未经授权的HTTPunauthorized
  • 402-需要HTTPPayment
  • 403-禁止高温热处理
  • 404-找不到httpnotfound
  • 405-不允许使用httpmethody
  • 406-HTTPNotAcceptable(不可接受)
  • 407-需要httpproxyauthenticationRequired
  • 408-httpRequestTimeout
  • 409-HTTPconflict
  • 410 - HTTPGone
  • 411-需要HTT长度
  • 412-httppreconditionfailed(httpprecondition失败)
  • 413-httprequestentitytoolge参数
  • 414-httprequesturitoolong
  • 415-httpunsupportedmediatype
  • 416-无法满足HTT请求
  • 417-httpExpectation失败
  • 422-HTTPunprocessible实体
  • 423-httplocked(高温锁定)
  • 424-HTTPfailedDependency(热处理故障驱动)
  • 428-需要HTTPpreconditions
  • 429-httptoomany请求
  • 431-HTT请求ADERFIELDSTOOLARGE
HTTPServerError
  • 500-httpInternalServer错误
  • 501-未实现的http
  • 502-HTTPBadgateway高速公路
  • 503-httpservices不可用
  • 504-httpgatewaytimeout(HTTP网关超时)
  • 505-不支持httpversion
  • 507-http存储不足

HTTP异常也包括 response 对象,因此它们接受可以传递给常规对象的大多数相同参数 Response . 每个HTTP异常还具有以下属性:

code
异常的HTTP状态代码
title
状态行的其余部分(代码后的内容)
explanation
不受环境或标题替换影响的错误消息的纯文本解释;可通过$解释_在模板中访问。
detail
不受环境或标题替换影响的纯文本消息自定义;可通过$detail_在模板中访问。
body_template
String.template -用于环境和标题替换的格式内容片段;默认模板包括消息中提供的解释和进一步的详细信息。

每个HTTP异常都接受以下参数,其他任何参数都将转发到其 Response 超类:

detail
对默认值的纯文本重写 detail
headers
要添加到响应中的(k,v)头对或dict的列表;使用内容“type='application/json'kwarg”和其他类似的kwarg更改由 pyramid.response.Response 超类
comment
纯文本附加信息,通常为最终用户删除/隐藏
body_template
string.Template 对象,该对象包含HTML中的内容片段,该内容片段为解释和进一步的详细信息提供了框架。
body
将重写 body_template 作为反应的主体。

始终执行将响应头替换为模板值的操作。如果 request 传递给异常的构造函数。

的子类 _HTTPMove (HTTPMultipleChoicesHTTPMovedPermanentlyHTTPFoundHTTPSeeOtherHTTPUseProxyHTTPTemporaryRedirect ,和:类: ~HTTPPermanentRedirect) are redirections that require a ` ` location``字段。考虑到这一点,这些子类还有一个关键字参数: ``location` ,指示要重定向到的位置。

status_map

整数状态代码到HTTP异常类的映射(例如整数“401”映射到 pyramid.httpexceptions.HTTPUnauthorized )所有映射的异常类都是的子类 pyramid.httpexceptions

exception_response(status_code, **kw)[源代码]

基于状态代码创建HTTP异常。例子::

raise exception_response(404) # raises an HTTPNotFound exception.

传递的值为 kw 提供给异常的构造函数。

exception HTTPException(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]
exception HTTPOk(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

指示请求已成功。

代码:200,标题:好

exception HTTPRedirection(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

300s中状态代码异常的基类(重定向)

这是3xx重定向的抽象基类。它表明用户代理需要采取进一步的措施来满足请求。它不需要发出错误状态的信号。

exception HTTPError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

400s和500s中状态代码异常的基类

这是一个异常,表示发生了错误,不应提交任何正在进行的工作。

exception HTTPClientError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

400的基类,其中客户端出错

这是一种错误情况,在这种情况下,假定客户机出错。这是一个预期的问题,因此不被视为错误。不保证服务器端的回溯。除非专门化,否则这是“400个错误请求”

exception HTTPServerError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

服务器出错的500的基类

这是一种错误情况,在这种情况下,服务器被假定出错。除非专门化,否则这是一个“500内部服务器错误”。

exception HTTPCreated(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

这表示请求已完成,并导致创建新资源。

代码:201,标题:已创建

exception HTTPAccepted(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

这表示已接受请求进行处理,但尚未完成处理。

代码:202,标题:已接受

exception HTTPNonAuthoritativeInformation(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

这表示实体头中返回的元信息不是源服务器可用的确定集,而是从本地或第三方副本收集的。

代码:203,标题:非权威信息

exception HTTPNoContent(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

这表示服务器已经完成了请求,但不需要返回实体体,并且可能希望返回更新的元信息。

代码:204,标题:无内容

exception HTTPResetContent(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

这表示服务器已完成请求,用户代理应重置导致发送请求的文档视图。

代码:205,标题:重置内容

exception HTTPPartialContent(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPSuccessful

这表示服务器已经完成了对资源的部分GET请求。

代码:206,标题:部分内容

exception HTTPMultipleChoices(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示请求的资源对应于一组表示中的任何一个,每个表示都有自己的特定位置,并且提供了代理驱动的协商信息,以便用户可以选择首选表示并将其请求重定向到该位置。

代码:300,标题:多选

exception HTTPMovedPermanently(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示请求的资源已被分配了一个新的永久URI,将来对此资源的任何引用都应使用返回的URI之一。

代码:301,标题:永久移动

exception HTTPFound(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示请求的资源临时驻留在不同的URI下。

代码:302,标题:找到

exception HTTPSeeOther(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示可以在不同的URI下找到对请求的响应,并且应该使用该资源上的get方法来检索该响应。

代码:303,标题:见其他

exception HTTPNotModified(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPRedirection

这表示如果客户机执行了有条件的GET请求,并且允许访问,但文档尚未修改,则服务器应使用此状态代码响应。

代码:304,标题:未修改

exception HTTPUseProxy(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示必须通过“位置”字段指定的代理访问请求的资源。

代码:305,标题:使用代理

exception HTTPTemporaryRedirect(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示请求的资源临时驻留在不同的URI下。

代码:307,标题:临时重定向

exception HTTPPermanentRedirect(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[源代码]

亚类 _HTTPMove

这表示请求的资源永久驻留在不同的URI下,并且请求方法不得更改。

代码:308,标题:永久重定向

exception HTTPBadRequest(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示主体或头文件的有效性检查失败,导致服务器无法继续处理。

代码:400,标题:错误请求

exception HTTPUnauthorized(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示请求需要用户身份验证。

代码:401,标题:未授权

exception HTTPPaymentRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

代码:402,标题:需要付款

exception HTTPForbidden(detail=None, headers=None, comment=None, body_template=None, result=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器理解请求,但拒绝完成请求。

代码:403,标题:禁止

在内部引发此异常 view 代码立即返回 forbidden view 调用用户。通常这是一个基本的 403 页面,但可以根据需要自定义禁止的视图。见 更改禁止的视图 . 一 Forbidden 例外情况是 context A的 Forbidden View .

此异常的构造函数专门处理两个参数。第一个论点, detail ,应为字符串。此字符串的值将用作 message 异常对象的属性。第二个特殊关键字参数, result 通常是 pyramid.security.Deniedpyramid.security.ACLDenied 每一个都表明了禁止错误的原因。然而, result 也可以只是一个普通的布尔值 False 对象或 None . 这个 result 值将用作 result 异常对象的属性。它默认为 None .

这个 Forbidden View 可以根据需要使用禁止异常的属性,在向用户显示的错误报告中提供扩展信息。

exception HTTPNotFound(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器没有找到任何与请求URI匹配的内容。

代码:404,标题:未找到

在内部引发此异常 view 代码立即返回 Not Found View 调用用户。通常这是一个基本的 404 页面,但未找到的视图可以根据需要进行自定义。见 更改未找到视图 .

此异常的构造函数接受 detail 参数(第一个参数),应为字符串。此字符串的值将作为 message 此异常的属性,以便 Not Found View .

exception HTTPMethodNotAllowed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示请求行中指定的方法不允许用于由请求URI标识的资源。

代码:405,标题:不允许使用方法

exception HTTPNotAcceptable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示请求标识的资源只能生成响应实体,根据请求中发送的接受头,这些响应实体具有不可接受的内容特征。

代码:406,标题:不可接受

exception HTTPProxyAuthenticationRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这类似于401,但表示客户端必须首先通过代理进行身份验证。

代码:407,标题:需要代理验证

exception HTTPRequestTimeout(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表明客户机没有在服务器准备等待的时间内生成请求。

代码:408,标题:请求超时

exception HTTPConflict(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示由于与资源的当前状态冲突,无法完成请求。

代码:409,标题:冲突

exception HTTPGone(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示请求的资源在服务器上不再可用,并且不知道转发地址。

代码:410,标题:消失

exception HTTPLengthRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器拒绝接受没有定义内容长度的请求。

代码:411,标题:需要长度

exception HTTPPreconditionFailed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示在服务器上测试请求头字段时,一个或多个字段中给定的前提条件被评估为假。

代码:412,标题:前提条件失败

exception HTTPRequestEntityTooLarge(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器拒绝处理请求,因为请求实体大于服务器愿意或能够处理的实体。

代码:413,标题:请求实体太大

exception HTTPRequestURITooLong(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器拒绝为请求提供服务,因为请求URI比服务器愿意解释的时间长。

代码:414,标题:请求URI太长

exception HTTPUnsupportedMediaType(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器拒绝为请求提供服务,因为请求的实体的格式不受请求方法的资源支持。

代码:415,标题:不支持的媒体类型

exception HTTPRequestRangeNotSatisfiable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

如果请求包含范围请求头字段,并且此字段中的范围说明符值没有与所选资源的当前范围重叠,并且请求不包含范围请求头字段,则服务器应返回带有此状态代码的响应。

代码:416,标题:请求范围不可满足

exception HTTPExpectationFailed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表明此服务器无法满足Expect请求头字段中给定的期望。

代码:417,标题:期望失败

exception HTTPUnprocessableEntity(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示服务器无法处理包含的指令。

可用于通知客户机其JSON/XML格式正确,但不适合当前请求。

有关更多信息,请参阅RFC4918第11节。

代码:422,标题:不可加工实体

exception HTTPLocked(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示资源已锁定。

代码:423,标题:锁定

exception HTTPFailedDependency(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPClientError

这表示无法执行该方法,因为请求的操作依赖于另一个操作,而该操作失败。

代码:424,标题:失败的依赖项

exception HTTPInternalServerError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示服务器遇到意外情况,导致无法完成请求。

代码:500,标题:内部服务器错误

exception HTTPNotImplemented(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示服务器不支持完成请求所需的功能。

代码:501,标题:未实现

exception HTTPBadGateway(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示服务器在充当网关或代理时,从其在尝试完成请求时访问的上游服务器接收到无效响应。

代码:502,标题:坏网关

exception HTTPServiceUnavailable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示由于服务器临时过载或维护,服务器当前无法处理请求。

代码:503,标题:服务不可用

exception HTTPGatewayTimeout(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示服务器在充当网关或代理时,没有从URI(如http、ftp、ldap)或在尝试完成请求时需要访问的其他辅助服务器(如dns)指定的上游服务器收到及时响应。

代码:504,标题:网关超时

exception HTTPVersionNotSupported(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示服务器不支持或拒绝支持请求消息中使用的HTTP协议版本。

代码:505,标题:不支持HTTP版本

exception HTTPInsufficientStorage(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]

亚类 HTTPServerError

这表示服务器没有足够的空间来保存资源。

代码:507,标题:存储不足