在 viber 示例机器人中获取 http 请求 403 错误

问题描述

我从 https://github.com/bvedad/viber-bot-sample 复制了一个节点示例 viber bot 并且不得不修改它(添加函数 app.get() 和 app.post() 因为我有一个错误 404 Not Found for route /viber/webhook) .现在我遇到 GET HTTP Request 403 Forbidden 错误

在端口上运行的应用程序:8181 无法在以下服务器上设置 webhook。它在运行吗? { 状态:1, status_message: 'Result[HttpRequest[GET /viber/webhook/ HTTP/1.1]@182601e9 > HttpResponse[HTTP/1.1 403 Forbidden]@769aac87] null',聊天主机名:'SN-CHAT-06_' }

当我尝试访问地址 http://math.alpin52.ru:8181/viber/webhook 时,我收到空响应错误。 我在编写 app.listen() 而不是应该正确处理 http 的 server.listen() 时遇到了同样的问题。

怎么了?谢谢。

这是我对代码修改

const bodyParser = require("body-parser");

var fs = require('fs');
const https = require('https');

var httpsOptions = {
  cert: fs.readFileSync('/home/admin/conf/web/ssl.math.alpin52.ru.crt'),key: fs.readFileSync('/home/admin/conf/web/ssl.math.alpin52.ru.key'),ca: fs.readFileSync('/home/admin/conf/web/ssl.math.alpin52.ru.ca')
};

const urlencodedParser = bodyParser.urlencoded({extended: false});

var server = https.createServer(httpsOptions,app);

server.listen(port,() => {
  console.log(`Application running on port: ${port}`);
  bot.setWebhook(`${process.env.EXPOSE_URL}/viber/webhook`).catch(error => {
    console.log('Can not set webhook on following server. Is it running?');
    console.error(error);
    //process.exit(1);
  });
});
app.post("/viber/webhook",urlencodedParser,function (request,response) {
        return response.sendStatus(200);
});
app.get("/viber/webhook",response) {
        return response.sendStatus(200);
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)