python3编写简易统计服务器
? ? ? ? ?打點(diǎn)這個(gè)功能總是美其名曰“幫助提升用戶體驗(yàn)”,其實(shí)說白了就是記錄用戶做了哪些操作。目前國內(nèi)很多通用軟件都做了相關(guān)功能,像360、QQ等這樣的以用戶體驗(yàn)出眾的軟件,其打點(diǎn)的面自然也很廣很細(xì)。當(dāng)然這種“侵犯”用戶隱私的事情在業(yè)內(nèi)各個(gè)公司都是不愿多談,談了也沒啥用,這就是潛規(guī)則。我記得在上家公司,一個(gè)同事總是在做“埋點(diǎn)”工作,他和我們說“你現(xiàn)在點(diǎn)一個(gè)按鈕,好幾個(gè)請求包就發(fā)出去了”。我相信這種濫用現(xiàn)象在目前國內(nèi)互聯(lián)網(wǎng)企業(yè)內(nèi)很常見。(轉(zhuǎn)載請指明出處)不說廢話了。
? ? ? ? 通過http請求去打點(diǎn)的方法應(yīng)該算是最簡便的了。比如A用戶點(diǎn)了B界面中C按鈕,可能發(fā)送的http請求包就是http://dadian.XXXX.com/dadian.htm?username=A&page=B&button=C&version=1.1&time=201107140141。我們在開發(fā)中通過調(diào)試代碼,自然可以確認(rèn)這一串東西拼接是否正確,但是如果交付給測試時(shí),且測試同學(xué)可能需要大批量獲取這樣的數(shù)據(jù),則可以采用如下辦法:
- 安裝一個(gè)抓包工具,一條一條復(fù)制出來。
- 找服務(wù)端同學(xué)要數(shù)據(jù)。
'''
Created on 2011-7-7@author: fangliang.fl
'''
from http.server import HTTPServer
from http.server import BaseHTTPRequestHandler
class DadianHttpHandler(BaseHTTPRequestHandler): def do_GET(self):if "dadian.htm?" in self.path :url = "http://dadian.XXXX.com"+self.pathprint(url)url = url+"\n" file_object = open('C:/dadianurl.txt', 'a+')file_object.writelines(url)file_object.close()if __name__ == '__main__':httpd=HTTPServer(("dadian.XXXX.com",80),DadianHttpHandler)httpd.serve_forever()
? ? ? ? 然后在當(dāng)前系統(tǒng)盤的WINDOWS\system32\drivers\etc下的hosts文件中加入一行
| 127.0.0.1 dadian.XXXX.com |
? ? ? ? 這樣運(yùn)行這個(gè)python,當(dāng)有相應(yīng)http請求時(shí),便在窗口中打印出這個(gè)url,并在C:/下生成dadianurl.txt的文件,里面記錄了每條請求的url。
(轉(zhuǎn)載請指明出處)
總結(jié)
以上是生活随笔為你收集整理的python3编写简易统计服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ATL::CStringA和std::s
- 下一篇: 进程间通信:同步双工管道