如何解决调试 Slack WebHook
我正在尝试向 Slack 频道发布消息。如果我从浏览器执行此操作,例如通过带有 Ajax 请求的控制台,一切正常 - 我没有收到任何错误,并且消息会发布到 Slack。
但是我需要从 Node.js 应用程序中完成,所以我选择使用 Axios 来处理请求本身。这是我的代码
const url = 'https://hooks.slack.com/services/TOKEN/GOES/HERE';
let requestConfig = {
url: url,data: {'text': 'foo'},method: 'POST',proxy: {
'host': '127.0.0.1','port': 3128,'auth': {
'username': 'myusername','password': 'mypwd'
}
}
}
axios.request(requestConfig)
.then((res) => {
console.log(`Slack notification sent - ${res.status}\n${res.data}`);
})
.catch((error) => {
console.log(`Error sending notification to Slack\n${error}`);
});
我做错了吗?有没有办法调试这个?恐怕有一些我没有看到的潜在问题,无论如何网络钩子都会发送 200。
谢谢!
解决方法
通过设置 proxy:false
和配置 httpsAgent
设法让它运行,即使它确实通过代理。
const HttpsProxyAgent = require('https-proxy-agent');
//...
let requestConfig = {
url: url,data: {'text': 'foo'},method: 'POST',proxy: false,httpsAgent: new HttpsProxyAgent('http://myusername:mypwd@localhost:3128')
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。