如何根据 HTTP 主机名 header onload 进行 Javascript 重定向?

How to make Javascript redirect based on HTTP hostname header onload?

我对 Javascript 很陌生。我掌握了HTML和CSS。我打算为我的网站制作一个机器人检测器。普通机器人不会呈现 javascript。所以我想做一个基于 Javascript 的挑战网站。如果用户是合法用户,将使用 onload() 基于 HTTP header 自动重定向。但如果它是一个机器人,我想将它重定向到另一个镜像网站。我怎样才能做到这一点?提前致谢。

如果您打算使用 javascript 检测机器人,则只需重定向即可。几乎所有机器人都不会遵循 JS 中的重定向(尽管我相信 Google 机器人会)。

window.location.href = 'http://example.com';

如果您试图检测机器人以防止虚假读数,您可以使用 areyouahuman.com

检测机器人是一项相当棘手的任务,比仅仅检查它是否执行要复杂得多 javascript。

这真的取决于你的目标是什么。

需要注意的是 javascript 无法读取加载页面的初始 HTTP 响应的 headers。它唯一能做的就是读取它 (javascript) 发起的 AJAX 请求的 headers。所以这也可能会影响你的方法。