微信公共平台接口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");
}
}
感觉很不对,求高手解答。
[解决办法]