python 在Flask中跟踪服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 在Flask中跟踪服务器相关的知识,希望对你有一定的参考价值。

from flask import Flask
from flask import request
from time import strftime, time
import os

sites = {"1":"trackedsite.com"}
app = Flask(__name__)

@app.route("/t", methods=['GET'])
def track():
   def rargs(arg):
      args = request.args
      return args[arg] if arg in args else "null"
   def nullwrap(arg):
      return arg if arg != None else "null"

   sitename = sites[request.args['s']]
   day = strftime("%D").replace("/","-")
   folder = "/var/trackingdata/"
   filename = folder + sitename + "/" + day + ".csv"

   # create file if not existent
   if not os.path.isfile(filename):
      open(filename, "w+").close()

   hnd = open(filename,"a")
   a = [str(time()), # timestamp
    rargs('s'), # site id
    rargs('v'), # version of site
    nullwrap(request.remote_addr, # ip address
    rargs('u'), # user cookie 
    rargs('fp'), # user fingerprint
    rargs('sr'), # screen resolution
    nullwrap(request.headers.get('User-Agent')),
    nullwrap(request.headers.get('Referer')),
    rargs('e')] # event

   for p in a:
      hnd.write(p + "\t")
   hnd.write("\r\n")
   hnd.close()
   
app.run(host='0.0.0.0')

以上是关于python 在Flask中跟踪服务器的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 Flask 中跟踪请求 [重复]

在 Flask 中跟踪用户活动的实现

在 Flask 中记录每条路由的相关 ID

如何在 Flask 中捕获和读取传入 HTTP 请求的标头? [复制]

使用 Flask 和 MongoEngine 跟踪 Tumblelog 应用程序时出错

使用ip地址跟踪访问者,有没有更好的方法? (使用 Flask 微框架)