gpt4 book ai didi

node.js - Heroku 上的 Node 应用程序出现 Twilio 11200 HTTP 检索失败

转载 作者:太空宇宙 更新时间:2023-11-04 01:57:26 24 4
gpt4 key购买 nike

我的 Node.js 应用程序设置为响应通过付费 Twilio 号码收到的短信。我使用 ngrok 对其进行了测试,一切正常。然而,将应用程序部署到 Heroku 后,我开始在 Twilio 控制台中看到 11200 HTTP 检索失败错误。

Heroku 中是否有我需要设置的配置设置?

// Twilio Credentials
const accountSid = 'xxx';
const authToken = 'xxx';
const client = require('twilio')(accountSid, authToken);
const MessagingResponse = require('twilio').twiml.MessagingResponse;

var express = require('express');
var app = express();
var bodyparser = require('body-parser');

app.use(bodyparser.urlencoded({extended: true}));

app.set('port', (process.env.PORT || 3000));

app.use('/', function(request, response){
response.send();
});

app.post('/sms', function(req, res) {

const twiml = new MessagingResponse();

twiml.message('Hi, this is Culpability. Your incident has been logged. Your
unique id # XXXX');

res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());

});

app.listen(app.get('port'), function() {
// console.log('Node app is running on port', app.get('port'));
});

最佳答案

这里是 Twilio 开发者布道者。

我认为问题主要出在您用来发送响应的方法上。目前,/sms 路由的最后一行是 res.end(twiml.toString()); 但是 Response#end is used "to quickly end the response without any data."

我认为您对 res.writeHead() 的使用现在也可能已经过时了。

我会将您的 /sms 路由更改为如下所示:

app.post('/sms', function(req, res) {
const twiml = new MessagingResponse();
twiml.message('Hi, this is Culpability. Your incident has been logged. Your unique id # XXXX');
res.set('Content-Type', 'text/xml');
res.status(200).send(twiml.toString());
});

然后尝试重新部署到 Heroku 并看看会发生什么。

关于node.js - Heroku 上的 Node 应用程序出现 Twilio 11200 HTTP 检索失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47335713/

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