国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python對Tornado請求與響應的數據處理

2020-02-15 21:13:59
字體:
來源:轉載
供稿:網友

獲取查詢字符串參數

get_query_argument(name, default=_ARG_DEFAULT, strip=True)

從請求的查詢字符串中返回指定參數name的值,如果出現多個同名參數,則返回最后一個的值;

default為路由中未傳name參數時返回的默認值,如default未設置,則會拋出tornado.web.MissingArgumentError異常;

strip表示是否過濾掉左右兩邊的空白字符,默認為過濾。

get_query_arguments(name, strip=True)

從請求的查詢字符串中返回指定參數name的值,注意返回的是list列表(即使對應name參數只有一個值),若未找到name參數,則返回空列表。

獲取請求體數據

get_body_argument(name, default=_ARG_DEFAULT, strip=True)

從請求體中返回指定參數name的值,如出現多個同名參數,則返回最后一個的值;

default與strip同上。

get_body_arguments(name, strip=True)

從請求體中返回指定參數name的值,注意返回的是list列表(即使對應name參數只有一個值),若未找到name參數,則返回空列表。

說明:對于請求體中數據為json或xml的,無法通過這兩個方法獲取。

前兩類方法的整合

get_argument(name, default=_ARG_DEFAULT, strip=True)

get_arguments(name, strip=True)

說明:對于請求體中數據為json或xml的,無法通過這兩個方法獲取。

這兩個方法最常用

獲取請求體中的json或xml數據

body_json = self.request.body

body_dict = json.loads(body_json)

需要先判斷請求體的數據是否為 application/json 格式:

if self.reuqest.headers.get("Content-Type", "").startswith("application/json"):try:  # 防止請求頭內容是application/json,實際內容不是json數據  body_dict = json.loads(self.request.body)except Exception as e:  logger({"message": e})    body_dict = dict()

正則提取uri中的參數

第一種是未命名的方式,按照匹配順序進行傳遞:

...def get(self, subject, city): ...(r"/subject/(.+)/(.+)", SubjectCityHandler),...

第二種是以命名的方式進行傳遞:

...def get(self, city, date): ...(r"/subject/(?P<date>.+)/(?P<city>.+)", SubjectCityHandler),...

Tornado的Request對象屬性

屬性 說明
self.request.method  http的請求頭;get, post等
self.reuqest.uri  客戶端請求完整的uri
self.request.path  uri的路徑名,不包含查詢的字符串
self.request.query uri中的查詢字符串
self.request.version http/1.1
self.request.headers 請求頭
self.requset.body 字符串的消息
self.request.remote_ip 客戶端請求的ip
self.request.protocol http的協議http or https
self.request.host 請求消息的主機名
self.request.files 以字典的方式表達客戶端上傳的文件
self.request.cookies 客戶端的cookies字典
self.request.arguments  客戶端提交的參數
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海宁市| 威宁| 融水| 临城县| 阳东县| 汝阳县| 靖西县| 吴川市| 青海省| 慈溪市| 长顺县| 黄大仙区| 阳东县| 潢川县| 贵定县| 乌苏市| 石台县| 砚山县| 韶山市| 青河县| 五华县| 安溪县| 南投市| 静安区| 璧山县| 家居| 东莞市| 阿图什市| 仁布县| 昌黎县| 赣州市| 惠水县| 临邑县| 浏阳市| 汉阴县| 四会市| 镇远县| 托克逊县| 耒阳市| 子长县| 波密县|