【问题标题】:Get referring URL for Flask request获取 Flask 请求的引用 URL
【发布时间】:2015-04-20 00:31:46
【问题描述】:

当用户访问我们的网站并注册时,我如何捕捉他们来自哪个网站?

无论是搜索、公关网站等。我不在乎他们访问了我们网站的哪个页面,我只想知道哪些营销活动为我们带来了最多的注册。

我知道 Google Analytics 可能可以做到这一点,但我也想提供一些内部参考。

【问题讨论】:

    标签: python flask http-referer


    【解决方案1】:

    request.referrer 包含请求来自的 URL,尽管它可能由于各种原因没有被客户端发送。

    该属性的值来自Referer(不是错字!)标头:

    referrer = request.headers.get("Referer")
    

    或者,使用 Flask 快捷方式:

    referrer = request.referrer
    

    有关示例,请参阅 this tutorial

    【讨论】:

      【解决方案2】:

      感谢接受的答案,我将我的应用程序设置为捕获外部引用并将其存储在 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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多