如何使用重定向跟踪在浏览器中输入的URL?

时间:2010-07-20 14:27:23

标签: c# redirect browser

这是我的情况:

我需要创建一个应用程序来监听在浏览器上输入的URL,以便在输入特定网站时(例如google.com),它会将其重定向到www.mysite.com/Redirect.aspx?site=google。 com,以便此点击记录在mysite.com上,然后用户被重定向到原始条目,即google.com

我的一个想法是在Windows上创建一个编辑Hosts文件的应用程序。所以我做的是,为google.com添加了一个条目,重定向它1.2.3.4(我的服务器的IP),以便点击可以在那里记录,用户可以重定向回google.com

然而,问题在于,由于主机会将对google.com的任何请求重定向到1.2.3.4,因此整个重定向序列将在循环中循环,因为1.2.3.4也会将其引导至google.com。

有人可以建议我可以做些什么来解决这个或更好的解决方案?

我想要的是类似于家长控制软件,即当访问某个网站时,例如www.porn.com,它识别此地址并引导用户访问其他网站。

行动的顺序是:

用户进入google.com - >重定向到mysite.com?Redirect.aspx?site=google.com(我的服务器上的记录条目) - >转到google.com

2 个答案:

答案 0 :(得分:1)

我想你要做的是设置代理并强制所有网络流量通过它。根据您的具体情况(您是否需要确保人们使用它或者无论出于何种原因选择加入)。然后在你的代理中你进行聆听,然后进行魔法重定向。取决于mysite.com的作用(它只是重定向还是会返回谷歌页面?)你可能想要保持状态(记住你刚刚做了这个重定向,所以你不会陷入循环)或者只是火在代理google.com时向mysite.com发出单独请求。这应该在根据需要转发请求时记录请求。

创建代理的范围对于这个问题来说有点大,所以我会让你自己去研究。

答案 1 :(得分:0)

您可以成为代理(http或袜子)。这样,您将看到对所有站点的所有请求,并可以选择跟踪特定站点。同时,用户永远不会在浏览器中发现任何重定向