繁体   English   中英

当我们使用301重定向进行重定向时,如何收集客户端数据?

[英]How to collect client data when we redirect using 301 redirect?

有一个类似Clickmeter的系统,它使人们可以为自己的横幅广告创建智能链接。 这是该系统的简短说明。 您可以输入一个URL作为登录页面,系统会为您提供一个特殊的URL,而不是原始URL。 现在,如果有人单击特殊链接,他将被重定向到您想要的登录页面。

我正在开发类似的东西,但这是麻烦。 由于某些SEO事情,我必须使用301重定向,而301重定向仅在服务器端可用,据我所知。 但是我想在重定向客户端之前获取一些客户端数据,例如浏览器名称,操作系统模型和浏览器语言。 我在javascript中做这部分,绝对是客户端。

我不知道该怎么办,或者我对其他事情不对。 但是我知道Clickmeter确实在做我想做的事情。 他们获取一些客户端数据,然后执行301重定向。 这里是CLickmeter样本链接: http://9nl.it/vz0d

您不会在客户端获取客户端的数据。 您可以在服务器端通过在执行301重定向之前读取和处理Request.UserAgent来完成此操作:

// get the User Agent
string userAgentText = HttpContext.Current.Request.UserAgent;

// Process the User Agent, and extract the information you want: browser, OS, version...
...

// Make the 301 redirection to the target URL programmatically
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", TARGET_URL);

您可以通过使用window.navigator.userAgent (和AJAX来发送点击数据)来在JavaScript中获得类似的信息,但是由于两个原因,我不建议使用此解决方案:

  • 如果仅提供URL(您的服务听起来像URL缩短器),则无法注入JavaScript代码。
  • 如果用户禁用了JavaScript,则此解决方案将完全无法使用。

要查找有关如何完成此操作的更多信息,请阅读以下问题:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM