读书人

微信公共平台接口demo,该怎么解决

发布时间: 2012-12-30 10:43:15 作者: rapoo

微信公共平台接口demo
本帖最后由 yangchunmarch 于 2012-12-12 15:33:34 编辑 public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

//extract post data
if (!empty($postStr)){

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}

}else {
echo "";
exit;
}
}


各位。以上为微信公共平台调用 php版的demo 现在没有asp.net的 能否给写写asp.net版的。自己写了些感觉不好用。求助

我自己写的。

public void responseMsg()
{


//读取本地时间与调用xml无关。
DateTime dtstart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
DateTime dtnow = DateTime.Parse(DateTime.Now.ToString());


TimeSpan tonow = dtnow.Subtract(dtstart);
string timestamp = tonow.Ticks.ToString();
timestamp = timestamp.Substring(0, timestamp.Length - 7);


StreamReader stream = new StreamReader(Request.InputStream);
string xml2 = stream.ReadToEnd();
if (true)
{

System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(xml2);

XmlNode fromUsername = doc.SelectSingleNode("FromUserName");
XmlNode toUsername = doc.SelectSingleNode("ToUserName");
XmlNode keyword = doc.SelectSingleNode("Content");
string msgtype = "text";
string contentstr = "Welcome to wechat world!";

string textTpl = "<xml>" + "<ToUserName><![CDATA["+fromUsername.InnerText+"]]></ToUserName>" +
"<FromUserName><![CDATA[" + toUsername.InnerText + "]]></FromUserName>" +
"<CreateTime>" + timestamp + "</CreateTime>" +
"<MsgType><![CDATA["+msgtype+"]]></MsgType>" +
"<Content><![CDATA[" + contentstr + "]]></Content>" +
"<FuncFlag>0</FuncFlag>" +
"</xml>";


string resultStr = textTpl;
Response.Write(resultStr);

}


else
{
Response.Write("no");

}


}

感觉很不对,求高手解答。



[解决办法]



求详细

读书人网 >asp.net

热点推荐