首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用callbackURL的Twilio SendSmsMessage不工作吗?

使用callbackURL的Twilio SendSmsMessage不工作吗?
EN

Stack Overflow用户
提问于 2015-03-12 23:35:41
回答 1查看 397关注 0票数 0

我在RestSharp版本105.0.1和Twilio版本3.6.27上使用C#。我设置了一个HTTP侦听器,它可以使用GET或POST配置将传入消息发送到我的twilio电话号码。当我使用SendSmsMessage方法并将statusCallback设置为传入短信的Twilio配置中的同一个URL时,我没有得到该URL的任何POSTed。消息发出得很好,我在返回的消息对象中重新获得了sid,并且可以检查它的状态。

有没有人做到这一点?如果是这样,你能提供任何想法来帮助我调试这个问题吗?

编辑:我花了一些时间来缩小范围。我的httpListener使用http://blog.mikehacker.net/2006/11/13/httplistener-and-forms/中的代码解析POST数据。它检查httpListenerRequest.HasEntityBody,如果是真的,则只尝试解析数据。实际上,当我向我的twilio号码发送消息时,POST消息将HasEntityBody设置为true,并且数据被正确解析出来。当我从RestAPI发送一条消息并指定一个回调URL时,POST消息没有将HasEntityBody设置为true,因此永远不会尝试解析。即使我忽略了HasEntityBody的状态,StreamReader似乎也没有获得任何数据,即使我在wireshark捕获中看到了它。

任何进一步的想法/见解都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2015-03-13 08:37:30

问题已解决,回调URL按照通告的方式工作。上面提到的Mike Hacker博客文章中的代码假设内容类型将是“应用程序/x-www-form-urlencoded”,并且当Twilio POSTs一条传入的短信时,它发送什么,所以代码可以工作。当Twilio发布到回调URL时,它将内容类型字符串发送为“application/x-www-form-urlencoded;charset=utf-8”,这打破了解析逻辑。简单的解决方法是将相等性测试更改为“包含”。我之前关于HasEntityBody的评论是我的一个调试错误,对不起。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29014019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档