Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从response.redirect页面向外部网站发送http_referer_C#_Asp.net - Fatal编程技术网

C# 从response.redirect页面向外部网站发送http_referer

C# 从response.redirect页面向外部网站发送http_referer,c#,asp.net,C#,Asp.net,我在我的asp.net https网站上有链接,希望推荐人在我发送访问者的网站的web统计信息中显示。由于我无法将http_referer信息从我的https发送到外部http站点,因此我尝试在我的站点上设置一个不安全的传递页面,然后从那里将response.redirect发送到链接目标 mysitehttps>anotherpagehttp response.redirect>externalsitehttp 但它不会从response.redirect页面发送推荐人信息。它只是不断尝试使用

我在我的asp.net https网站上有链接,希望推荐人在我发送访问者的网站的web统计信息中显示。由于我无法将http_referer信息从我的https发送到外部http站点,因此我尝试在我的站点上设置一个不安全的传递页面,然后从那里将response.redirect发送到链接目标

mysitehttps>anotherpagehttp response.redirect>externalsitehttp

但它不会从response.redirect页面发送推荐人信息。它只是不断尝试使用链接被点击的原始页面作为http\U引用程序,由于https,该页面为空

有可能以某种方式实现这一点吗?看起来一定是这样,因为当我点击facebook https中的链接时,它会首先重定向到另一个页面,然后我的分析显示facebook甚至在Firefox中也是推荐人


此外,我还实现了meta-tag选项,它适用于一些浏览器,但不适用于Firefox和IE。

好的,对于任何想做这种事情的人,我已经找到了一种方法来完成我想要的。这可能不是最好的方法,但它正在起作用。。。现在,当用户单击我的https站点中的链接并转移到外部http站点时,他们将在其web统计信息中看到来自我的站点的访问者,除非他们禁用了javascript

首先,这可能不适用于你们中的任何人,但由于我将我的global.asax文件设置为将非https输入的url重定向到https,我必须对该全局代码中的特定文件夹进行例外,然后我在其中放置一个新的aspx页面作为我的传递页面。假设新文件夹的名称为Link

然后,我将我的超链接设置为单击时指向该页面,并为其分配一些querystring参数,以便在非安全传递页面中提取必要的信息。在后面的代码中,我将其应用于ID为link的超链接的页面加载中,比如:link.NavigateUrl=ResolveUrl+lnkid.Text;我的链接填充在datalist中,因此我在datalist ItemTemplate'Visible=false/>中添加了一个标签,以获取该链接的id,并通过前面提到的粗体文本代码将其应用于超链接。通过这种方式,我可以从pass-through页面上的数据库中提取我的URL信息。请确保将链接目标设置为_blank,以便它在新窗口中弹出。否则,如果用户单击“上一步”按钮,它会将他们返回到传递页面,而不是返回到他们单击链接的页面,这将再次将他们发送回链接,他们可能会感到沮丧

然后在我在/Link文件夹中设置的非安全传递页面中完成其余部分。这里最大的问题是使用response.redirect没有附加任何推荐人信息,因为它只是从最初单击链接的https页面中提取信息。我已经读到,设置http\u referer需要一个click事件。我使用的技巧是在这个直通页面l.aspx中添加一个按钮,并在codebehind中为其分配适当的链接,以便使用javascript自动单击它。然后,在用户被转移到链接的目的地之前添加推荐人信息。但是,如果浏览器中禁用了javascript,它只会使用response.redirect,因此在这种情况下不会添加http_referer,但这仍然会处理大部分流量

.aspx页