根据微信http://mp.weixin.qq.com/wiki/index.php 接收消息提供的接口,本人把能接收的消息一一读取了出来,虽然可能会有用不到的,但全部读取出来比将来需用用的时候在找容易,下面代码是最原始的读取,也是本人在调整微信接口时写的,希望对你能有帮助。
这里做个广告,为了更快了解微信本来新建了一个QQ群,群名称是【微信开发技术交流:389075177】,专门用于微信开发和交流,欢迎正在研究微信的童鞋一起加入,一起学习,一起进步!
<%@Language="VBScript" CodePage="65001"%> <% ‘********************************************** ‘注意事项 ‘ASP文件需要以UTF-8的格式保存,否则乱码. ‘以下两行代码是为了通过微信接口验证的。 ‘response.write request("echostr") ‘response.end ‘********************************************** dim ToUserName ‘开发者微信号 dim FromUserName‘发送方帐号(一个OpenID) dim CreateTime ‘消息创建时间(整型) dim MsgType ‘text dim Content ‘文本消息内容 set xml_dom = Server.CreateObject("MSXML2.DOMDocument")‘此处根据您的实际服务器情况改写 xml_dom.load request FromUserName=xml_dom.getelementsbytagname("FromUserName").item(0).text ‘发送者微信账号 ToUserName=xml_dom.getelementsbytagname("ToUserName").item(0).text ‘接收者微信账号。即我们的公众平台账号。 MsgType=xml_dom.getelementsbytagname("MsgType").item(0).Text select case MsgType case "text" ‘文本消息 KeyWord=xml_dom.getelementsbytagname("Content").item(0).text ‘到数据库查询回复 Sendsql="select * from WeiXin_KeyWord where ReceiveMsgType="&Receivers("id")&" and KeyWord=‘"&KeyWord&"‘" SendRs.open SendSql,conn,1,3 If Not SendRs.eof Then ‘strsend=text(fromusername,tousername,SendRs("ReplyText")) strsend=ReplyMessage(fromusername,tousername,SendRs("id")) Else strsend=text(fromusername,tousername,"你说的是:"&KeyWord) End If SendRs.close case "image" ‘图片消息 PicUrl=xml_dom.getelementsbytagname("PicUrl").item(0).Text MediaId=xml_dom.getelementsbytagname("MediaId").item(0).Text MsgId=xml_dom.getelementsbytagname("MsgId").item(0).Text Content=" 图片URL;"&PicUrl Content=Content&" 图片MediaId:"&MediaId Content=Content&" 图片MsgId:"&MsgId strsend=text(fromusername,tousername,Content) case "voice" ‘语音消息 strsend=text(fromusername,tousername,"你发了我图片语音消息") MediaId=xml_dom.getelementsbytagname("MediaId").item(0).Text ‘语音格式,如amr,speex等 VoiceFormat=xml_dom.getelementsbytagname("Format").item(0).Text MsgId=xml_dom.getelementsbytagname("MsgId").item(0).Text Content=" 您发送给我的语音信息\n" Content=Content&" 语音格式:"&VoiceFormat Content=Content&" MediaId:"&MediaId Content=Content&" 此消息ID消息id:"&MsgId strsend=text(fromusername,tousername,Content) case "location" ‘地理位置 Location_X=xml_dom.getelementsbytagname("Location_X").item(0).Text Location_Y=xml_dom.getelementsbytagname("Location_Y").item(0).Text ‘地理位置信息 Labelxxxx=xml_dom.getelementsbytagname("Label").item(0).Text ‘地图缩放大小 Scale=xml_dom.getelementsbytagname("Scale").item(0).Text MsgId=xml_dom.getelementsbytagname("MsgId").item(0).Text Content=" 您的地理位置:"&Labelxxxx Content=Content&" <br>地理位置经度:"&Location_Y Content=Content&" <br>地理位置维度:"&Location_X Content=Content&" <br>此消息ID消息id:"&MsgId strsend=text(fromusername,tousername,Content) case "video" ‘视频消息 MediaId=xml_dom.getelementsbytagname("MediaId").item(0).Text ‘视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。 ThumbMediaId=xml_dom.getelementsbytagname("ThumbMediaId").item(0).Text MsgId=xml_dom.getelementsbytagname("MsgId").item(0).Text Content=" 你发了我图片视频消息" Content=Content&" <br>MediaId:"&MediaId Content=Content&" <br>缩略图:"&ThumbMediaId Content=Content&" <br>此消息ID消息id:"&MsgId strsend=text(fromusername,tousername,Content) case "link" ‘链接消息 strsend=text(fromusername,tousername,"你发了我图片链接消息") Title=xml_dom.getelementsbytagname("Title").item(0).Text Description=xml_dom.getelementsbytagname("Description").item(0).Text Url=xml_dom.getelementsbytagname("Url").item(0).Text MsgId=xml_dom.getelementsbytagname("MsgId").item(0).Text case "event" ‘事件 strEventType=xml_dom.getelementsbytagname("Event").item(0).text ‘微信事件 if strEventType="subscribe" then ‘表示订阅微信公众平台 strsend="" ElseIf strEventType="unsubscribe" Then‘取消订阅 strsend="" ElseIf strEventType="LOCATION" Then‘上报地理位置 ‘地理位置纬度 Latitude=xml_dom.getelementsbytagname("Latitude").item(0).Text ‘地理位置经度 Longitude=xml_dom.getelementsbytagname("Longitude").item(0).Text ‘地理位置精度 Precision=xml_dom.getelementsbytagname("Precision").item(0).Text strsend=gz(FromUserName,ToUserName) ElseIf strEventType="CLICK" Then‘自定义菜单事件 ‘事件KEY值,与自定义菜单接口中KEY值对应 EventKey=xml_dom.getelementsbytagname("EventKey").item(0).Text strsend=gz(FromUserName,ToUserName) ElseIf strEventType="VIEW" Then‘点击菜单跳转链接时的事件推送 ‘事件KEY值,设置的跳转URL EventKey=xml_dom.getelementsbytagname("EventKey").item(0).Text strsend=gz(FromUserName,ToUserName) Else strsend=text(fromusername,tousername,"我不知什么事件") end If end select response.write strsend set xml_dom=Nothing ‘*************以下代码只是为了调试作用*********** ‘由于asp不好调试,所有把代码输出到文本文件中,这样就容易多啦!!! filepath=server.mappath(".")&"\wx.txt" Set fso = Server.CreateObject("Scripting.FileSystemObject") set fopen=fso.OpenTextFile(filepath, 8 ,true) fopen.writeline(strsend) set fso=nothing set fopen=Nothing ‘****************调试结束************************ ‘回复文本消息 function text(fromusername,tousername,returnstr) text="<xml>" &_ "<ToUserName><![CDATA["&fromusername&"]]></ToUserName>" &_ "<FromUserName><![CDATA["&tousername&"]]></FromUserName>" &_ "<CreateTime>"&now&"</CreateTime>" &_ "<MsgType><![CDATA[text]]></MsgType>" &_ "<Content><![CDATA[" & Replace(returnstr,"<br>",VBCRLF) & "]]></Content>" &_ "<FuncFlag>0<FuncFlag>" &_ "</xml>" end Function %>
微信asp+sqlser开发实例——接收消息,布布扣,bubuko.com
原文:http://blog.csdn.net/rcy5211314/article/details/22524767