【问题标题】:Find the referring URL and parse it找到引用 URL 并解析它
【发布时间】:2013-05-04 01:08:36
【问题描述】:

好的,我的问题是有两个网站有两个不同的服务器。我想做的是为网站 1 编写一些按钮,但在我的服务器(网站 2)上的一个页面上。

所以要做到这一点,方法是

  • 用户点击网站 1 上的按钮。
  • 用户被重定向到网站 2。
  • 我需要知道他们来自哪个页面,这样我才能知道他们正在查看什么产品。这将通过获取引荐来源网址来完成。
  • 然后我需要解析 URL 的 productID 编号。

示例网址:website1.com/ProductDetails/?referrerPage=1&productID=#######&tab=Tile

我知道我需要使用这段代码将引荐来源网址存储在一个字符串中:

myReferrer = Request.UrlReferrer.ToString();

我真的不知道把它放在哪里。我猜在我的 .cs 文件中我的按钮在哪里?

protected void btnEstimate_Click(object sender, EventArgs e)
{
    connection strings
    {
        does stuff
        {
            does stuff
        }

所以我的问题是如何获取引用 URL,然后解析出项目 ID?

提前感谢您的帮助。如果有任何不清楚的地方,请询问......这是我第一次提出问题,所以我可能不清楚。谢谢!

【问题讨论】:

  • HttpUtility.ParseQueryString().
  • 你可以做以下我想到的两个。 1. 由于查看器在站点 1 上,因此将一些参数传递给站点 2 的链接。并且 2,将 UrlReferrer 存储在站点 2 上的页面加载...

标签: c# asp.net parsing url referrer


【解决方案1】:

这应该会给你你想要的:

Making Sense of ASP.NET Paths

请注意,包含查询字符串和额外路径的完全限定 URL 是 Uri 实例而不是字符串。您可以使用 UriBuilder.Query 属性来提取查询字符串参数:

需要在接收站点页面的Page_Load方法中解析URI。

UriBuilder.Query Property

【讨论】:

    【解决方案2】:

    有一个名为 HTTP_REFERER 的服务器变量。您可以通过Request.ServerVariables("HTTP_REFERER")访问它

    我知道,它拼写错误,但这就是你真正需要调用服务器变量的方式。

    只有当用户点击链接时,才会填充您的引荐来源服务器变量。 AFAIK,如果您重定向,该变量将为空。

    Wikipedia Referer Article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 2016-11-07
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 2011-07-18
      相关资源
      最近更新 更多