获取 Flask 请求的引用 URL
Get referring URL for Flask request
当用户访问我们的网站并注册时,我如何捕获他们来自哪个网站?
无论是搜索、公关网站等。我不关心他们访问了我们网站的哪个页面,我只想知道哪些营销活动给我们带来了最多的注册。
我知道 Google 分析可能可以做到这一点,但我也希望有一些内部参考。
request.referrer
包含请求的来源 URL,尽管由于各种原因客户端可能不会发送它。
该属性的值来自 Referer
(不是错字!)header:
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()
当用户访问我们的网站并注册时,我如何捕获他们来自哪个网站?
无论是搜索、公关网站等。我不关心他们访问了我们网站的哪个页面,我只想知道哪些营销活动给我们带来了最多的注册。
我知道 Google 分析可能可以做到这一点,但我也希望有一些内部参考。
request.referrer
包含请求的来源 URL,尽管由于各种原因客户端可能不会发送它。
该属性的值来自 Referer
(不是错字!)header:
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()