首页 新闻 会员 周边 捐助

MVC 怎么获得POST过来的数据

-1
悬赏园豆:20 [已解决问题] 解决于 2014-08-27 16:10

  最近在研究微信公众平台,官方文档里面有一句

当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上

  我尝试在action前面加特性[httppost] 或者 Requst.Form 都没有拿到他发过来的数据

请问要怎么才能拿到 POST过来的数据 

  我有看asp.net的代码

  他们是这么拿的

 

 1 if (Request.HttpMethod.ToLower() == "post")
 2             {
 3                 Stream s = System.Web.HttpContext.Current.Request.InputStream;
 4                 byte[] b = new byte[s.Length];
 5                 s.Read(b, 0, (int)s.Length);
 6                 postStr = Encoding.UTF8.GetString(b);
 7                 if (!string.IsNullOrEmpty(postStr))
 8                 {
 9                     ResponseMsg(postStr);
10                 }
11                 //WriteLog("postStr:" + postStr);
12             }

 

微风吹过12x的主页 微风吹过12x | 初学一级 | 园豆:73
提问于:2014-08-27 15:20
< >
分享
最佳答案
0

因为它们发送的是XML数据,不是键值对形式的,所以才要这样获取,而且微信开发开发必须是80端口。。

收获园豆:15
Terminator. | 菜鸟二级 |园豆:221 | 2014-08-27 15:29

我的验证已经通过了,现在要接收普通信息,请问下 如果要接受XML数据怎么获取?

微风吹过12x | 园豆:73 (初学一级) | 2014-08-27 15:32

@苟活的意义: 上面的PostStr不就是吗,这样就可以获取到了,不过你得解析XML

Terminator. | 园豆:221 (菜鸟二级) | 2014-08-27 15:39

@Terminator.: 刚才检查下代码发现,是日志写入的时候异常了,然后日志日志没写进去.我以为没拿到

微风吹过12x | 园豆:73 (初学一级) | 2014-08-27 16:09
其他回答(1)
0

楼主只要知道一件事就行了,ASP.NET的代码在MVC里面基本都是可以使用的。

你不要被MVC给骗得连ASP.NET怎么用的都忘了...

收获园豆:5
爱编程的大叔 | 园豆:30844 (高人七级) | 2014-08-27 15:59

呵呵,是有一点.我从一出来工作就是用的MVC. asp.net的东西基本都忘了

支持(0) 反对(0) 微风吹过12x | 园豆:73 (初学一级) | 2014-08-27 16:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册