gpt4 book ai didi

javascript - 我们可以通过node.js检测请求类型(来自html或用户客户端)

转载 作者:行者123 更新时间:2023-12-03 03:32:49 26 4
gpt4 key购买 nike

我正在构建一个文件路径,并且由于不同的客户端,我想要不同的操作,这是我的计划

if (userclient) {
res.send(<a>View it here</a> <a>download it here</a>);
} else {
res.send(data);
// ^^^^ data is a variable of the file that we're serving
}

所以我希望上面的代码可以提供一个 HTML,让用户选择下载或查看它,但为 bot/API/HTML 链接( <link src="/path/to/style.css"> )提供文件,但我如何检测它是用户客户端,而不是HTML 文件请求样式表或其他?

最佳答案

没有完美的解决方案,但您可以使用 User agent检测它是什么类型的客户端。

例如,典型浏览器的用户代理类似于 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/60.0.3112.113 Safari/537.36(这是我当前在 Chrome 上的用户代理)

Google 机器人的代理是 Googlebot/2.​​1 (+http://www.google.com/bot.html),从 PHP 服务器发送的请求的用户代理为空(默认情况下) )。您可以将所有请求视为机器人,但其中包含“Chrome”、“Mozilla”、“AppleWebKit”、“Safari”等字样的请求除外。

尽管如此,您可能应该只拥有两个单独的页面,一个用于 API,另一个用于用户。这将防止任何并发症和困惑。请记住,也可以更改您的用户代理,因此机器人可以拥有看起来像用户的用户代理,而用户也可以拥有看起来像机器人的用户代理。

关于javascript - 我们可以通过node.js检测请求类型(来自html或用户客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com