???? 代表Http請求。
???? 所有的屬性都是字符串型。
17.1 屬性
(1) method:請求方法類型,比如”GET”、”POST”
(2) uri: 請求的uri
(3) path:請求路徑,作為uri的一部分。
(4) query:查詢字符串:作為uri的一部分。
(5) version:HTTP的版本,比如”HTTP/1.1”。
(6) headers:http 頭部字典;
(7) body:請求的主體內容,為二進制字符串;
(8) remote_ip:客戶端的ip地址。
(9) protocol:協議。或者是http,要么是https
(10) host:請求的主機名,通常來自于Host頭部;
(11) arguments:請求參數字典,字典的key為字符串,字典的值為字節字符串。
(12) query_arguments:查詢參數。跟arguments屬性的值類型一致,但是這里只包含了查詢參數;
(13) body_arguments:請求體參數。從請求主(body)中抽取出來;
(14) files:上傳的文件列表。是一個HTTPFile類型的列表。
(15) connection:一個請求對應一個連接,多個請求可以被單個連接依次處理。
17.2 構造函數
定義:
def __init__(self, method=None, uri=None, version="HTTP/1.0", headers=None,body=None, host=None, files=None, connection=None,start_line=None):
參數:
method:方法,
uri:請求uri
version:HTTP版本,默認值為”HTPP/1.0”
headers:頭部
host:主機地址
files:上傳的文件
connection:連接
start_line:開始行
17.3 full_url
獲得請求的完整路徑
17.4 request_time
返回請求執行花費的時間。
17.5 _parse_bod_parse_body
根據Content-type、body、body_arguments、headers等字段的值解析body參數,并設置arguments屬性值。這個很方法很重要。