pyramid.httpexceptions
¶
HTTP异常¶
此模块包含PyramidHTTP异常类。每个类都与单个HTTP状态代码相关。每个类都是 HTTPException
. 每个异常类也是 response 对象。
每个异常类都有一个状态代码,根据 RFC 2068 或 RFC 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失败
418-HTTPImATeapot
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
(HTTPMultipleChoices
, HTTPMovedPermanently
, HTTPFound
, HTTPSeeOther
, HTTPUseProxy
, HTTPTemporaryRedirect
,和:类: ~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)[源代码]¶
-
这表示如果客户机执行了有条件的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)[源代码]¶
-
这表示主体或头文件的有效性检查失败,导致服务器无法继续处理。
代码:400,标题:错误请求
- exception HTTPUnauthorized(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示请求需要用户身份验证。
代码:401,标题:未授权
- exception HTTPPaymentRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
代码:402,标题:需要付款
- exception HTTPForbidden(detail=None, headers=None, comment=None, body_template=None, result=None, **kw)[源代码]¶
-
这表示服务器理解请求,但拒绝完成请求。
代码:403,标题:禁止
在内部引发此异常 view 代码立即返回 forbidden view 调用用户。通常这是一个基本的
403
页面,但可以根据需要自定义禁止的视图。见 更改禁止的视图 . 一Forbidden
例外情况是context
A的 Forbidden View .此异常的构造函数特殊处理两个参数。第一个论点,
detail
,应该是字符串。此字符串的值将用作message
异常对象的属性。第二个特殊关键字参数,result
通常是pyramid.security.Denied
或pyramid.authorization.ACLDenied
其中每一个都指示禁止错误的原因。然而,result
也允许仅为纯布尔值。False
对象或None
。这个result
值将用作result
异常对象的属性。默认为None
。这个 Forbidden View 可以根据需要使用禁止异常的属性,在向用户显示的错误报告中提供扩展信息。
- exception HTTPNotFound(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器没有找到任何与请求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)[源代码]¶
-
这表示请求行中指定的方法不允许用于由请求URI标识的资源。
代码:405,标题:不允许使用方法
- exception HTTPNotAcceptable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示请求标识的资源只能生成响应实体,根据请求中发送的接受头,这些响应实体具有不可接受的内容特征。
代码:406,标题:不可接受
- exception HTTPProxyAuthenticationRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这类似于401,但表示客户端必须首先通过代理进行身份验证。
代码:407,标题:需要代理验证
- exception HTTPRequestTimeout(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表明客户机没有在服务器准备等待的时间内生成请求。
代码:408,标题:请求超时
- exception HTTPConflict(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示由于与资源的当前状态冲突,无法完成请求。
代码:409,标题:冲突
- exception HTTPGone(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示请求的资源在服务器上不再可用,并且不知道转发地址。
代码:410,标题:消失
- exception HTTPLengthRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器拒绝接受没有定义内容长度的请求。
代码:411,标题:需要长度
- exception HTTPPreconditionFailed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示在服务器上测试请求头字段时,一个或多个字段中给定的前提条件被评估为假。
代码:412,标题:前提条件失败
- exception HTTPRequestEntityTooLarge(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器拒绝处理请求,因为请求实体大于服务器愿意或能够处理的实体。
代码:413,标题:请求实体太大
- exception HTTPRequestURITooLong(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器拒绝为请求提供服务,因为请求URI比服务器愿意解释的时间长。
代码:414,标题:请求URI太长
- exception HTTPUnsupportedMediaType(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器拒绝为请求提供服务,因为请求的实体的格式不受请求方法的资源支持。
代码:415,标题:不支持的媒体类型
- exception HTTPRequestRangeNotSatisfiable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
如果请求包含范围请求头字段,并且此字段中的范围说明符值没有与所选资源的当前范围重叠,并且请求不包含范围请求头字段,则服务器应返回带有此状态代码的响应。
代码:416,标题:请求范围不可满足
- exception HTTPExpectationFailed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示此服务器无法满足Expect请求标头字段中给定的期望值。
代码:417,标题:期望失败
- exception HTTPUnprocessableEntity(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器无法处理包含的指令。
可用于通知客户机其JSON/XML格式正确,但不适合当前请求。
有关更多信息,请参阅RFC4918第11节。
代码:422,标题:不可加工实体
- exception HTTPLocked(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示资源已锁定。
代码:423,标题:锁定
- exception HTTPFailedDependency(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示无法执行该方法,因为请求的操作依赖于另一个操作,而该操作失败。
代码:424,标题:失败的依赖项
- exception HTTPInternalServerError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器遇到意外情况,导致无法完成请求。
代码:500,标题:内部服务器错误
- exception HTTPNotImplemented(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器不支持完成请求所需的功能。
代码:501,标题:未实现
- exception HTTPBadGateway(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器在充当网关或代理时,从其在尝试完成请求时访问的上游服务器接收到无效响应。
代码:502,标题:坏网关
-
这表示由于服务器临时过载或维护,服务器当前无法处理请求。
代码:503,标题:服务不可用
- exception HTTPGatewayTimeout(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器在充当网关或代理时,没有从URI(如http、ftp、ldap)或在尝试完成请求时需要访问的其他辅助服务器(如dns)指定的上游服务器收到及时响应。
代码:504,标题:网关超时
- exception HTTPVersionNotSupported(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[源代码]¶
-
这表示服务器不支持或拒绝支持请求消息中使用的HTTP协议版本。
代码:505,标题:不支持HTTP版本