对于application/x-www-form-urlencoded,发送到服务器的HTTP消息主体本质上是一个巨大的查询字符串——名称/值对由符号(&)分隔,名称与值之间用等号(=)分隔。例如:
MyVariableOne=ValueOne&MyVariableTwo=ValueTwo
我们可以从另一个网站获得更多关于应用程序的信息/x-www-form-urlencoded
SO thread
.
目前,并非所有的ASP。NET WebHook接收器在功能上还没有完全处理。我还发现一个笑脸
SO Thread
. Azure函数可以支持3种类型的Webhook:
通用JSON、GitHub、Slack
. 但我们可以用我们的逻辑来处理它。您可以尝试使用以下代码来获取字典中的键值。
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
if (req.Content.Headers.ContentType.ToString().ToLower().Equals("application/x-www-form-urlencoded"))
{
var body = req.Content.ReadAsStringAsync().Result;
var array = body.Split('&');
foreach (var item in array)
{
var keyvalue = item.Split('=');
myDictionary.Add(keyvalue[0],keyvalue[1]);
}
}
var sid = myDictionary["SmsMessageSid"];
log.Info($"sid ={sid}");
return req.CreateResponse(HttpStatusCode.OK, $"Current Time : {DateTime.Now}");