Python開發Tornado網站之RequestHandler:輸入捕捉

不言
發布: 2018-10-19 17:16:05
轉載
2613 人瀏覽過
這篇文章帶給大家的內容是關於Python開發Tornado網站之RequestHandler:輸入捕捉 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

輸入捕捉是指在RequestHandler中用於取得客戶端輸入的工具函數和屬性。例如取得URL參數、Post提交參數等。

1、get_argument(name)、get_arguments(name)

RequestHandler.get_argument(name)與RequestHandler.get_arguments(name)都是傳回給定參數的值。 get_argument是取得單一值,而get_arguments在參數存在多個值得情況下使用,傳回多個值的清單。  
注意:使用這兩個方法取得的事URL中查詢的參數與POST提交的參數的參數集合。

2、get_query_argument(name)、get_query_arguments(name)

功能與上面兩個方法類似,唯一差異是這兩個方法僅從URL中查詢參數。

3、get_body_argument(name)、get_body_arguments(name)

功能尚與上面四個方法類似,唯一差異是這兩個方法僅從POST提交的參數中查詢。

提示:實際開發中一般會使用get_argument、get_arguments這兩個方法,因為他們會包含其他方法的查詢結果。

4、get_cookie(name,default=None)

根據Cookie名稱取得Cookie的值

5、 RequestHandler.request

返回tornado.httputil .HTTPServerRequest物件實例的屬性,透過該物件可以取得關於HTTP請求的一切訊息,例如:

from tornado.web import Application, RequestHandler
import tornado.ioloop


class DetailHandler(RequestHandler):
    def get(self):
        ip = self.request.remote_ip  # 获取客户端的IP地址
        host = self.request.host  # 获取请求的主机地址
        result="ip地址为%s,host为%s"%(ip,host)
        return self.write(result)


if __name__ == '__main__':
    app = Application([
        ("/request", DetailHandler)
    ])
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()
登入後複製

瀏覽器輸入:http://localhost:8888/request

#頁面顯示:

ip地址为::1,host为localhost:8888
登入後複製

常用的httputil.HTTPServerRequest物件屬性如下表:

HTTP請求方法,例如:GET、POST客戶端請求的uri的完整內容。 uri路徑名,即在不包含查詢字串uri中的查詢字串客戶端發送請求時使用的HTTP版本,例如:HTTP/1.1以字典方式的形式傳回HTTP Headers以字串的形式傳回HTTP訊息體客戶端的IP位址請求協議,例如:HTTP、HTTPS請求訊息的主機名稱客戶端提交的所有參數。
屬性名稱 說明
method
uri
path
query
version
headers
body
remote_ip
#protocol
#host
arguments

###files######以字典形式傳回客戶端上傳的文件,每個檔案名稱對應一個HTTPFile############cookies# #####客戶端提交的Cookies字典###############

以上是Python開發Tornado網站之RequestHandler:輸入捕捉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板