-
class
-
一个错误。
这不同于协议错误响应(例如,HTTP代码500),它由普通HTTPResponse对象表示。该类负责指示不符合正常协议通信的错误,例如中断连接,超时,协议错误。
揭示以下属性:
msg:描述错误时间戳的消息:自时代以来的秒数-
检索对象状态。
get_state
( )-
从get_state调用返回的数据加载对象状态。
set_state
( 州 ) -
mitmproxy.flow.
Error
(
msg:str
,
timestamp = None
)
→无
HTTP
-
class
-
一个mitmproxy HTTP请求。
-
classmethod
-
包裹一个现有的
mitmproxy.net.http.Request
。
wrap
( request )-
修改此请求以删除可能产生缓存响应的头文件。也就是说,我们删除ETags和If-Modified-Since头。
anticache
( )-
修改此请求以删除将压缩资源数据的标题。
anticomp
( )-
基于我们可以适当解码的限制允许的接受编码值。
constrain_encoding
( )-
用内容编码标题解码的HTTP消息体(例如gzip)
举: 当内容编码无效且严格为True时,ValueError。 另请参阅:
raw_content
,text
content
-
请求Cookie。
一个空的
MultiDictView
物体,如果cookie怪物吃了他们全部。
cookies
-
根据当前的Content-Encoding头解码主体,然后删除头。如果没有Content-Encoding标题,则不执行任何操作。
举: 当内容编码无效且严格为True时,ValueError。
decode
( strict = True )-
用编码e编码,其中e是“gzip”,“deflate”,“identity”或“br”。任何现有的内容编码都被覆盖,内容未被预先解码。
举: ValueError,当指定的内容编码无效时。
encode
( e )-
HTTP请求表单定义在RFC7230中。
原始形式和星号形式被归为“相对”。
first_line_format
-
用内容编码标题解码的HTTP消息体(例如gzip)
举: 当内容编码无效且严格为True时,ValueError。 另请参阅:
raw_content
,text
get_content
( strict:bool = True ) →bytes-
HTTP消息体使用内容编码头(例如gzip)和内容类型头字符集进行解码。
举: 当内容编码或字符集无效且strict为True时,ValueError。 另请参阅:
content
,raw_content
get_text
( strict:bool = True ) →typing.Union [str,NoneType]-
消息头对象
返回: mitmproxy.net.http.Headers
headers
-
目标主机。这可以从原始请求解析(例如,从请求行)或从代理模式推断(例如,透明模式下的IP)。
GET http://example.com/ HTTP/1.1
设置主机属性还会更新主机头(如果存在)。
host
-
请求的主机/授权头。
此属性映射到
request.headers["Host"]
或request.headers[":authority"]
根据是HTTP / 1.x还是HTTP / 2.0。
host_header
-
版本字符串,例如“HTTP / 1.1”
http_version
-
用于创建请求对象的简化API。
make
( method:str,url:str,content:typing.Union [bytes,str] ='',headers:typing.Union [typing.Dict [str,AnyStr],typing.Iterable [typing.Tuple [bytes,bytes] ]] =() )-
HTTP请求方式,例如“GET”。
method
-
将多部分表单数据作为
MultiDictView
对象。一个空的multidict.MultiDictView如果内容类型表示非表单数据或内容无法解析。键和值是字节。
multipart_form
-
HTTP请求路径,例如“/index.html”。保证从斜杠开始,除了可能只是“*”的OPTIONS请求。
path
-
URL的路径组件作为字符串元组。组件不引用。
path_components
-
目标端口
port
-
类似于
host
,但使用主机头作为附加的首选数据源。这在透明模式下很有用,host
只有IP地址,但可能不会反映实际的目的地,因为主机头可能被欺骗。
pretty_host
-
喜欢
url
,但使用pretty_host
而不是host
。
pretty_url
-
请求查询字符串作为
MultiDictView
对象。
query
-
原始(编码)HTTP消息体
另请参阅:
content
,text
raw_content
-
将标头,请求路径和请求正文中的repl替换为正则表达式模式。编码内容将在更换前进行解码,然后重新编码。
返回: 更换的数量。
replace
( pattern , repl , flags = 0 , count = 0 )-
HTTP请求方案,应为“http”或“https”。
scheme
-
HTTP消息体使用内容编码头(例如gzip)和内容类型头字符集进行解码。
举: 当内容编码或字符集无效且strict为True时,ValueError。 另请参阅:
content
,raw_content
text
-
最后一个字节时间戳
timestamp_end
-
第一个字节时间戳
timestamp_start
-
URL字符串,由请求的URL组件构成
url
-
URL编码的表单数据作为
MultiDictView
对象。一个空的multidict.MultiDictView如果内容类型表示非表单数据或内容无法解析。从mitmproxy 1.0开始,键和值是字符串。
urlencoded_form
-
mitmproxy.http.
HTTPRequest
(
first_line_format
,
method
,
scheme
,
host
,
port
,
path
,
http_version
,
headers
,
content
,
timestamp_start = None
,
timestamp_end = None
,
is_replay = False
)
-
class
-
一个mitmproxy HTTP响应。
-
classmethod
-
包裹一个现有的
mitmproxy.net.http.Response
。
wrap
( response )-
用内容编码标题解码的HTTP消息体(例如gzip)
举: 当内容编码无效且严格为True时,ValueError。 另请参阅:
raw_content
,text
content
-
响应饼干。一个可能是空的
MultiDictView
,其中的键是cookie名字符串,值是(value,attr)元组。值是一个字符串,而attr是包含cookie属性的MultiDictView。在attrs中,一元属性(例如HTTPOnly)由Null值指示。-
注意事项:
- 更新attr
cookies
-
根据当前的Content-Encoding头解码主体,然后删除头。如果没有Content-Encoding标题,则不执行任何操作。
举: 当内容编码无效且严格为True时,ValueError。
decode
( strict = True )-
用编码e编码,其中e是“gzip”,“deflate”,“identity”或“br”。任何现有的内容编码都被覆盖,内容未被预先解码。
举: ValueError,当指定的内容编码无效时。
encode
( e )-
用内容编码标题解码的HTTP消息体(例如gzip)
举: 当内容编码无效且严格为True时,ValueError。 另请参阅:
raw_content
,text
get_content
( strict:bool = True ) →bytes-
HTTP消息体使用内容编码头(例如gzip)和内容类型头字符集进行解码。
举: 当内容编码或字符集无效且strict为True时,ValueError。 另请参阅:
content
,raw_content
get_text
( strict:bool = True ) →typing.Union [str,NoneType]-
消息头对象
返回: mitmproxy.net.http.Headers
headers
-
版本字符串,例如“HTTP / 1.1”
http_version
-
用于创建响应对象的简化API。
make
( status_code:int = 200,content:typing.Union [bytes,str] = b'',headers:typing.Union [typing.Dict [str,AnyStr],typing.Iterable [typing.Tuple [bytes,bytes]] ] =() )-
原始(编码)HTTP消息体
另请参阅:
content
,text
raw_content
-
HTTP原因短语,例如“未找到”。这是始终
None
为HTTP2请求,因为HTTP2响应不包含原因短语。
reason
-
这个相当复杂和启发式功能刷新服务器响应重播。
- 它调整日期,到期和最后修改的标题。
- 它调整cookie过期。
refresh
( 现在=无 )-
将消息的头文件和正文中的repl替换为正则表达式模式。编码体将在更换前进行解码,之后重新编码。
返回: 更换的数量。
replace
( pattern , repl , flags = 0 , count = 0 )-
HTTP状态代码,例如
200
。
status_code
-
HTTP消息体使用内容编码头(例如gzip)和内容类型头字符集进行解码。
举: 当内容编码或字符集无效且strict为True时,ValueError。 另请参阅:
content
,raw_content
text
-
最后一个字节时间戳
timestamp_end
-
第一个字节时间戳
timestamp_start
-
mitmproxy.http.
HTTPResponse
(
http_version
,
status_code
,
reason
,
headers
,
content
,
timestamp_start = None
,
timestamp_end = None
,
is_replay = False
)
-
class
-
HTTPFlow是表示单个HTTP事务的对象的集合。
-
HTTPRequest
目的
request
=无-
HTTPResponse
目的
response
=无-
Error
目的请注意,Flow可以同时具有响应和错误对象。例如,当从服务器收到响应时,可能会发生这种情况,但发送回客户端时发生错误。
error
=无-
ServerConnection
目的
server_conn
=无-
ClientConnection
目的
client_conn
=无-
这个流程目前被截获吗?
intercepted
=无-
代理层在接收此请求时有什么模式?
mode
=无-
保存此Flow的备份,可以恢复使用对.revert()的调用。
backup
( force = False )-
拦截此流。处理将停止,直到恢复被调用。
intercept
( )-
杀死这个请求。
kill
( )-
这个流程是否被修改?
modified
( )-
继续流动 - 在一个intercept()之后调用。
resume
( )-
恢复到最后备份状态。
revert
( )-
在流的请求和响应中用repl替换正则表达式模式。编码内容将在更换前进行解码,然后重新编码。
返回所做的替换次数。
replace
( pattern , repl , * args , ** kwargs ) -
mitmproxy.http.
HTTPFlow
(
client_conn
,
server_conn
,
live = None
,
mode ='regular'
)
记录
-
类
-
中央记录器,暴露于脚本作为mitmproxy.ctx.log。
-
使用级别调试登录。
debug
( txt )-
记录级别信息。
info
( txt )-
记录级别警报。警报与信息具有相同的紧急性,但是向交互式工具发出信号,即使用户当前没有查看事件日志,用户的注意力也应被绘制到输出。
alert
( txt )-
记录级别警告。
warn
( txt )-
记录级别错误。
error
( txt ) -
mitmproxy.log.
Log
(
主
)
-
class
mitmproxy.log.
LogEntry
(
msg
,
level
)