【发布时间】:2015-04-20 00:31:46
【问题描述】:
当用户访问我们的网站并注册时,我如何捕捉他们来自哪个网站?
无论是搜索、公关网站等。我不在乎他们访问了我们网站的哪个页面,我只想知道哪些营销活动为我们带来了最多的注册。
我知道 Google Analytics 可能可以做到这一点,但我也想提供一些内部参考。
【问题讨论】:
标签: python flask http-referer
当用户访问我们的网站并注册时,我如何捕捉他们来自哪个网站?
无论是搜索、公关网站等。我不在乎他们访问了我们网站的哪个页面,我只想知道哪些营销活动为我们带来了最多的注册。
我知道 Google Analytics 可能可以做到这一点,但我也想提供一些内部参考。
【问题讨论】:
标签: python flask http-referer
request.referrer 包含请求来自的 URL,尽管它可能由于各种原因没有被客户端发送。
该属性的值来自Referer(不是错字!)标头:
referrer = request.headers.get("Referer")
或者,使用 Flask 快捷方式:
referrer = request.referrer
有关示例,请参阅 this tutorial。
【讨论】:
感谢接受的答案,我将我的应用程序设置为捕获外部引用并将其存储在 session 中。然后当用户注册时,我将该值保存给用户。
from flask import request, g
from werkzeug.urls import url_parse
def referral():
url = request.referrer
# if domain is not mine, save it in the session
if url and url_parse(url).host != "example.com":
session["url"] = url
return session.get("url")
@app.before_request
def before_request():
g.user = current_user
g.url = referral()
【讨论】: