mitmproxy關於httpflow的api說明(二)_Mitmproxy

來源:互聯網
上載者:User

class mitmproxy.flow. Error ( msg:str , timestamp = None  )  →無

一個錯誤。

這不同於協議錯誤響應(例如,HTTP代碼500),它由普通HTTPResponse對象表示。該類負責指示不符合正常協議通訊的錯誤,例如中斷串連,逾時,協議錯誤。

揭示以下屬性: msg:描述錯誤時間戳記的訊息:自時代以來的秒數 get_state ( )

檢索對象狀態。 set_state ( 州 )

從get_state調用返回的資料載入對象狀態。 HTTP class mitmproxy.http. HTTPRequest ( first_line_format , method , scheme , host , port , path , http_version , headers , content , timestamp_start = None , timestamp_end = None , is_replay = False  )

一個mitmproxy HTTP請求。 classmethod wrap ( request  )

包裹一個現有的mitmproxy.net.http.Request。 anticache ( )

修改此請求以刪除可能產生緩衝響應的標頭檔。也就是說,我們刪除ETags和If-Modified-Since頭。 anticomp ( )

修改此請求以刪除將壓縮資源資料的標題。 constrain_encoding ( )

基於我們可以適當解碼的限制允許的接受編碼值。 content

用內容編碼標題解碼的HTTP訊息體(例如gzip) 舉: 當內容編碼無效且嚴格為True時,ValueError。

另請參閱:raw_content,text cookies

請求Cookie。

一個空的MultiDictView物體,如果cookie怪物吃了他們全部。 decode ( strict = True  )

根據當前的Content-Encoding頭解碼主體,然後刪除頭。如果沒有Content-Encoding標題,則不執行任何操作。 舉: 當內容編碼無效且嚴格為True時,ValueError。 encode ( e  )

用編碼e編碼,其中e是“gzip”,“deflate”,“identity”或“br”。任何現有的內容編碼都被覆蓋,內容未被預先解碼。 舉: ValueError,當指定的內容編碼無效時。 first_line_format

HTTP請求表單定義在RFC7230中。

原始形式和星號形式被歸為“相對”。 get_content ( strict:bool = True  )  →bytes 

用內容編碼標題解碼的HTTP訊息體(例如gzip) 舉: 當內容編碼無效且嚴格為True時,ValueError。

另請參閱:raw_content,text get_text ( strict:bool = True  )  →typing.Union [str,NoneType] 

HTTP訊息體使用內容編碼頭(例如gzip)和內容類型頭字元集進行解碼。 舉: 當內容編碼或字元集無效且strict為True時,ValueError。

另請參閱:content,raw_content headers

訊息頭對象 返回: mitmproxy.net.http.Headers host

目標主機。這可以從原始請求解析(例如,從請求行)或從代理模式推斷(例如,透明模式下的IP)。GET http://example.com/ HTTP/1.1

設定主機屬性還會更新主機頭(如果存在)。 host_header

請求的主機/授權頭。

此屬性對應到request.headers["Host"]或 request.headers[":authority"]根據是HTTP / 1.x還是HTTP / 2.0。 http_version

版本字串,例如“HTTP / 1.1” make ( method:str,url:str,content:typing.Union [bytes,str] ='',headers:typing.Union [typing.Dict [str,AnyStr],typing.Iterable [typing.Tuple [bytes,bytes] ]] =() )

用於建立請求對象的簡化API。 method

HTTP請求方式,例如“GET”。 multipart_form

將多部分表單資料作為MultiDictView對象。一個空的multidict.MultiDictView如果內容類型表示非表單資料或內容無法解析。

鍵和值是位元組。 path

HTTP請求路徑,例如“/index.html”。保證從斜杠開始,除了可能只是“*”的OPTIONS請求。 path_components

URL的路徑組件作為字串元組。組件不引用。 port

目標連接埠 pretty_host

類似於host,但使用主機頭作為附加的首選資料來源。這在透明模式下很有用,host只有IP地址,但可能不會反映實際的目的地,因為主機頭可能被欺騙。 pretty_url

喜歡url,但使用pretty_host而不是host。 query

請求查詢字串作為MultiDictView對象。 raw_content

原始(編碼)HTTP訊息體

另請參閱:content,text replace ( pattern , repl , flags = 0 , count = 0  )

將標題,請求路徑和請求本文中的repl替換為Regex模式。編碼內容將在更換前進行解碼,然後重新編碼。 返回: 更換的數量。 scheme

HTTP請求方案,應為“http”或“https”。 text

HTTP訊息體使用內容編碼頭(例如gzip)和內容類型頭字元集進行解碼。 舉: 當內容編碼或字元集無效且strict為True時,ValueError。

另請參閱:content,raw_content timestamp_end

最後一個位元組時間戳記 timestamp_start

第一個位元組時間戳記 url

URL字串,由請求的URL組件構成 urlencoded_form

URL編碼的表單資料作為MultiDictView對象。一個空的multidict.MultiDictView如果內容類型表示非表單資料或內容無法解析。

從mitmproxy 1.0開始,鍵和值是字串。 class mitmproxy.http. HTTPResponse ( http_version , status_code , reason , headers , content , timestamp_start = None , timestamp_end = None , is_replay = False  )

一個mitmproxy HTTP響應。 classmethod wrap ( response  )

包裹一個現有的mitmproxy.net.http.Response。 content

用內容編碼標題解碼的HTTP訊息體(例如gzip) 舉: 當內容編碼無效且嚴格為True時,ValueError。

另請參閱:raw_content,text cookies

響應餅乾。一個可能是空的 MultiDictView,其中的鍵是cookie名字串,值是(value,attr)元組。值是一個字串,而attr是包含cookie屬性的MultiDictView。在attrs中,一元屬性(例如HTTPOnly)由Null值指示。 注意事項: 更新attr decode ( strict = True  )

根據當前的Content-Encoding頭解碼主體,然後刪除頭。如果沒有Content-Encoding標題,則不執行任何操作。 舉: 當內容編碼無效且嚴格為True時,ValueError。 encode ( e  )

用編碼e編碼,其中e是“gzip”,“deflate”,“identity”或“br”。任何現有的內容編碼都被覆蓋,內容未被預先解碼。 舉: ValueError,當指定的內容編碼無效時。 get_content ( strict:bool = True  )  →bytes 

用內容編碼標題解碼的HTTP訊息體(例如gzip) 舉: 當內容編碼無效且嚴格為True時,ValueError。

另請參閱:raw_content,text get_text ( strict:bool = True  )  →typing.Union [str,NoneType] 

HTTP訊息體使用內容編碼頭(例如gzip)和內容類型頭字元集進行解碼。 舉: 當內容編碼或字元集無效且strict為True時,ValueError。

另請參閱:content,raw_content headers

訊息頭對象 返回: mitmproxy.net.http.Headers http_version

版本字串,例如“HTTP / 1.1” make ( status_code:int = 200,content:typing.Union [bytes,str] = b'',headers:typing.Union [typing.Dict [str,AnyStr],typing.Iterable [typing.Tuple [bytes,bytes]] ] =() )

用於建立響應對象的簡化API。 raw_content

原始(編碼)HTTP訊息體

另請參閱:content,text reason

HTTP原因短語,例如“未找到”。這是始終None為HTTP2請求,因為HTTP2響應不包含原因短語。 refresh ( 現在=無 )

這個相當複雜和啟發學習法功能重新整理伺服器響應重播。 它調整日期,到期和最後修改的標題。 它調整cookie到期。 replace ( pattern , repl , flags = 0 , count = 0  )

將訊息的標頭檔和本文中的repl替換為Regex模式。編碼體將在更換前進行解碼,之後重新編碼。 返回: 更換的數量。 status_code

HTTP狀態碼,例如200。 text

HTTP訊息體使用內容編碼頭(例如gzip)和內容類型頭字元集進行解碼。 舉: 當內容編碼或字元集無效且strict為True時,ValueError。

另請參閱:content,raw_content timestamp_end

最後一個位元組時間戳記 timestamp_start

第一個位元組時間戳記 class mitmproxy.http. HTTPFlow ( client_conn , server_conn , live = None , mode ='regular'  )

HTTPFlow是表示單個HTTP事務的對象的集合。 request =無

HTTPRequest 目的 response =無

HTTPResponse 目的 error =無

Error 目的

請注意,Flow可以同時具有響應和錯誤對象。例如,當從伺服器收到響應時,可能會發生這種情況,但發送回用戶端時發生錯誤。 server_conn =無

ServerConnection 目的 client_conn =無

ClientConnection 目的 intercepted =無

這個流程目前被截獲嗎。 mode =無

代理層在接收此請求時有什麼模式。 backup ( force = False  )

儲存此Flow的備份,可以恢複使用對.revert()的調用。 intercept ( )

攔截此流。處理將停止,直到恢複被調用。 kill ( )

殺死這個請求。 modified ( )

這個流程是否被修改。 resume ( )

繼續流動 - 在一個intercept()之後調用。 revert ( )

恢複到最後備份狀態。 replace ( pattern , repl , * args , ** kwargs  )

在流的請求和響應中用repl替換Regex模式。編碼內容將在更換前進行解碼,然後重新編碼。

返回所做的替換次數。 記錄 類 mitmproxy.log. Log ( 主 )

中央記錄器,暴露於指令碼作為mitmproxy.ctx.log。 debug ( txt  )

使用層級調試登入。 info ( txt  )

記錄層級資訊。 alert ( txt  )

記錄層級警報。警報與資訊具有相同的緊急性,但是向互動式工具發出訊號,即使使用者當前沒有查看事件記錄,使用者的注意力也應被繪製到輸出。 warn ( txt  )

記錄層級警告。 error ( txt  )

記錄層級錯誤。 class mitmproxy.log. LogEntry ( msg , level  )

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.