node.js - 有没有一种方法可以根据客户端、网络爬虫与网络应用程序客户端来呈现不同的页面?

标签 node.js http express server-side-rendering

我正在设置我的网页以支持 ssr,我的问题来了,我可以知道客户端是否是网络爬虫以便我可以执行 ssr 吗?

通过这种方式,我将为非网络爬虫的客户提供我的网页

我已经看到要验证您可以使用的 google-bot-crawler https://stackoverflow.com/a/3308728/8991228

但是有通用的方法吗?

最佳答案

有一个 header :User-Agent,通常在他的帮助下,您可以识别它是浏览器还是机器人,但是...

伪造此 header 的难度为 0。

因此,使用了额外的验证方法,例如谷歌,如您所示。

可是…… 并非所有机器人都显示为机器人。例如,Google 倾向于检查是否有其他内容被发送到机器人。

总而言之:如果您知道机器人接受它(例如,对于 Facebook 链接共享器),您就可以这样做

关于node.js - 有没有一种方法可以根据客户端、网络爬虫与网络应用程序客户端来呈现不同的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55377471/

相关文章:

node.js - 如何在Connect中间件中异步调用mongoDB?

apache-flex - 检测 Flash/Actionscript 中的重定向?

JSON REST 服务 : Content-Encoding: gzip

node.js - 在 React 中,如何显示 API get 请求的结果?

node.js - express.js : how to download stream as a file?

node.js - 检查文档中的字段

node.js - 如何解决云函数中的 firestore 批处理限制

javascript - Node.js 服务器不会在永远停止 0 上停止

javascript - 使用 JavaScript 扩展 DESKey

Inno Setup 脚本中的 HTTP POST 请求