根據 HTTP header 收集客戶端相關資訊

2022-05-19 06:56:36 字數 3461 閱讀 3835

【課程】    web2.0程式設計

【作業要求】  用 tornado 編寫一段小程式,根據 http header 收集客戶端相關資訊:是否手機、作業系統、瀏覽器等資訊*。

【作業提示】  主要解析 request header[「user-agent」] 。該字串格式可通過 wiki 鏈結 查 到 ; 通 過 tornado 英 文 網 站 文 檔 , 知 道 用 self.request 獲 取

tornado.httputil.httpserverrequest 物件例項,該例項有 headers 字典型別的屬性。

【參考文件】  user-agent定義及字串格式(wiki)

tornado 英 文 網 站 文 檔 

常見的相關字串和代表的版本資訊

【實驗環境】  作業系統:ubantu 13.10   瀏覽器:firefox  python:2.7.5+  tornado:1.2.1版本

method

http 的請求方法:get或post

uri

被請求的uri, 統一資源識別符號,用來唯一的標識乙個資源(關於uri)

path

uri的路徑部分

query

uri的請求部分

version

http協議的版本,如「http/1.1」

headers

這是乙個字典型別的屬性,帶有許多豐富的資訊,http headers是 http請求和相應的核心,它承載了關於客戶端瀏覽器,請求頁面,伺服器等相關的資訊。

headers['user-agent']

瀏覽器標識 (作業系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識 版本資訊 

常見的相關字串和代表的版本資訊

body

請求內容的主體,如果存在,是乙個string型別。

remote_ip

乙個表示客戶端ip位址的字串。

protocol

程式所遵守的協議

host

被請求的主機名

arguments

用來儲存表示get/post的引數字典

files

上傳的檔案

connection

單個連線可以連線多個請求,通過該屬性可以訪問http的請求

2.以下是我的這個小程式的核心**(命名為t1.py):

開啟終端,輸入以下命令列:

~$ python t1.py

這時候可以在終端看見以下輸出

從headers['user-agent']可看出, 我的實驗中,

作業系統是linux,瀏覽器是firefox,版本是29.0   其中gecko 是 firefox 的呈現引擎,版本是20100101

根據RSSI測距學習收集

1.rssi計算公式 rssi txpower pathloss rxgain systemgain rxgain可以通過天線結構模擬 2.已知rssi 強度 根據公式 d 10 abs rssi a 10 n 可求得距離 a 代表在距離一公尺時的訊號強度 n 代表環境對訊號的衰減係數,視具體環境而...

根據配送日期,計算到貨時間 (客製化自用)

param 需要配送的天數 param 開始配送的時間,一般預設是當天 param 自身需要的格式調整 true 將計算出來的日期以物件的格式傳出 計算在規定的送貨時間之中,有多少休息日,需要加上,再計算出具體的到貨日期 export const getholidayday function del...

牛客演算法周周練7 A 收集紙片 簽到題

題目描述 我們把房間按照笛卡爾座標系進行建模之後,每個點就有了乙個座標。假設現在房子裡有些紙片需要被收集,收集完紙片你還要回歸到原來的位置,你需要制定乙個策略來使得自己行走的距離最短。你只能沿著 x 軸或 y 軸方向移動,從位置 i,j 移動到相鄰位置 i 1,j i 1,j i,j 1 或 i,j...