专栏首页方亮python3编写简易统计服务器

python3编写简易统计服务器

         打点这个功能总是美其名曰“帮助提升用户体验”,其实说白了就是记录用户做了哪些操作。目前国内很多通用软件都做了相关功能,像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请求串。

'''
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.path
            print(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()

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

127.0.0.1 dadian.XXXX.com

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

(转载请指明出处)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 业界 | 除了R、Python,还有这些重要的数据科学工具

    在你向一些大神请教的时候,他可能也会推荐你学习这两个高级编程语言,然后顺便在推荐你了解一下SQL以及Math。如果讲究点的,可能还会传授你一些Spark、AWS...

    CDA数据分析师
  • 中国幼儿园AI教材曝光!谷歌专家指导,娃娃也要学Python!

    最近,网上流传一组《人工智能实验教材》的图片,教材是为幼儿园小班的小朋友们设计,还只是上册。

    新智元
  • 开发一套新的编程语言有多难?

    开发一套编程语言,主要存在两个障碍,其一:任何一种编程语言都有其存在的必要性,所以要搞明白为什么要弄一套新的编程语言,首先一定要有市场需求所在,编程语言如同一个...

    程序员互动联盟
  • Python : ex1

    项勇
  • Python : ex2

    项勇
  • 业界 | Dropbox力荐!我们如何应对Python桌面应用程序的崩溃

    揭秘Crashpad系统如何帮助Dropbox这样复杂的桌面程序捕获并报告崩溃,且兼容Python的多种语言。

    大数据文摘
  • 使用Python批量提取并保存docx文档中的图片

    如果实在看不懂上面的代码,但是又有同样的功能需要,可以把test.docx文件复制一份并把扩展名改为zip,文件名为“test_副本.zip”,然后解压缩,可以...

    Python小屋屋主
  • Python | 用机器学习搞定数字验证码,还有谁?!

    来源:http://www.hi-roy.com/2017/09/19/Python验证码识别

    用户1634449
  • 梳理博客的启示

    今天下午整理了近一年来的文章情况,发现运维开发的文章比重偏高。在侧重整理这部分的内容时,发现了两个比较突出的问题,首先发现很多运维开发的总结比较零散,侧重的比例...

    jeanron100
  • 在Windows下如何创建指定的虚拟环境

    前几天给大家分享了如何在默认的情况下创建虚拟环境,没来得及上车的伙伴,可以戳这篇文章:在Windows下如何创建虚拟环境(默认情况下)。今天小编给大家分享一下,...

    Python进阶者

扫码关注云+社区

领取腾讯云代金券