关闭

服务器打点 记录用户操作

1026人阅读 评论(0) 收藏 举报
分类:
打点这个功能总是美其名曰“帮助提升用户体验”,其实说白了就是记录用户做了哪些操作。目前国内很多通用软件都做了相关功能,像360、QQ等这样的以用户体验出众的软件,其打点的面自然也很广很细。当然这种“侵犯”用户隐私的事情在业内各个公司都是不愿多谈,谈了也没啥用,这就是潜规则。我记得在上家公司,一个同事总是在做“埋点”工作,他和我们说“你现在点一个按钮,好几个请求包就发出去了”。我相信这种滥用现象在目前国内互联网企业内很常见。不说废话了。

通过http请求去打点的方法应该算是最简便的了。比如A用户点了B界面中C按钮,可能发送的http请求包就是http://dadian.XXXX.com/dadian.htm?username=A&page=B&button=C&version=1.1&time=201107140141。我们在开发中通过调试代码,自然可以确认这一串东西拼接是否正确,但是如果交付给测试时,且测试同学可能需要大批量获取这样的数据,则可以采用如下办法:

1 安装一个抓包工具,一条一条复制出来。

2 找服务端同学要数据。

方法1未免太繁琐,方法2则可能要协调。所以要寻找更好的办法,于是我写了以下python简易http服务器代码,这将帮助测试同学批量获取打点的http请求串。

Python代码
  1. ''''' 
  2. Created on 2011-7-7 
  3.  
  4. @author: fangliang.fl 
  5. '''  
  6. from http.server import HTTPServer  
  7. from http.server import BaseHTTPRequestHandler  
  8. class DadianHttpHandler(BaseHTTPRequestHandler):    
  9.     def do_GET(self):  
  10.         if "dadian.htm?" in self.path :  
  11.             url = "http://dadian.XXXX.com"+self.path  
  12.             print(url)  
  13.             url = url+"\n"                 
  14.             file_object = open('C:/dadianurl.txt''a+')  
  15.             file_object.writelines(url)  
  16.             file_object.close()  
  17.               
  18. if __name__ == '__main__':  
  19.     httpd=HTTPServer(("dadian.XXXX.com",80),DadianHttpHandler)  
  20.     httpd.serve_forever()  

然后在当前系统盘的WINDOWS\system32\drivers\etc下的hosts文件中加入一行

127.0.0.1dadian.XXXX.com

这样运行这个python,当有相应http请求时,便在窗口中打印出这个url,并在C:/下生成dadianurl.txt的文件,里面记录了每条请求的url。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:369487次
    • 积分:6708
    • 等级:
    • 排名:第3642名
    • 原创:256篇
    • 转载:385篇
    • 译文:0篇
    • 评论:5条
    文章分类