【问题标题】:How can I check to see if a URL exists or not?如何检查 URL 是否存在?
【发布时间】:2020-07-05 14:13:49
【问题描述】:

我正在尝试制作一个 Discord 机器人,它会在发布漫画的新章节时自动发布消息。我以前从未使用过 JavaScript,也不知道会使用什么代码来做到这一点。 URL 以“/en/0/[Chapter Number]”结尾,整个 URL 中没有其他内容发生变化,因此机器人所要做的就是检查发布的数字上方的一个数字,然后当该链接不引导时再到 404,它会在 Discord 上发布消息并更新它正在检查的章节编号。感谢您提供任何帮助。

编辑:

我正在使用 Node.js 和 Visual Studio Code,如果这很重要的话

【问题讨论】:

  • 显示您现在如何获取消息的代码。另外,看看正则表达式。看起来你需要像message.match(/\/en\/0\/([0-9]+/) 这样的东西。

标签: javascript


【解决方案1】:

可以使用Node的https内置模块来判断页面的状态码。如果状态码是200,您就会知道该页面存在。您还可以检查您认为合适的其他状态代码(404,就像您提到的那样)。

const https = require('https')

https.get('https://discordapp.com/', res => {
    if(res.statusCode === 200) {
        console.log('Page exists!')
    }
})

【讨论】:

  • 操作在节点上。 fetch 默认不可用。
  • @KevinPeña 好收获!谢谢
  • 在查看了这个和其他一些关于类似事情的页面之后,我现在已经让它正常工作了!现在我需要做的就是其他部分,所以我想是时候学习 JavaScript 的基础知识了
  • @Jokaleth 干得好!这是一种值得了解 imo 的语言。祝你好运!
【解决方案2】:

您可能想向 url 发出请求以检查响应代码。如果你正在开发一个不和谐的机器人,你可能正在使用节点,在这种情况下,你想选择一个请求库并查找使用它的文档:

以下是其中的一些:

【讨论】:

    猜你喜欢
    • 2011-12-14
    • 2011-05-09
    • 1970-01-01
    • 2016-07-08
    • 2019-12-10
    • 2010-10-29
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多