伦理片hd-伦理片 在线播放-伦理片 在线-伦理免费在线观看-综合图片区-综合婷婷

微信公眾號生成帶參數的二維碼asp源碼下載

2020/12/18 14:10:56 字體: 瀏覽 2153

<%
'**********************************************
'注意事項
'ASP文件需要以UTF-8的格式保存,否則亂碼.
'作者 :565449214
'**********************************************
dim Signature    '微信加密簽名
dim Timestamp    '時間戳
dim Nonce        '隨機數
dim Echostr        '隨機字符串
dim Token        '與微信后臺設置的token一致
dim encrypt_type  '加密類型
dim msg_signature '簽名

Token="qwbmqwbm"'

Signature = request.QueryString("signature")
Nonce = request.QueryString("nonce")
Timestamp = request.QueryString("timestamp")
Echostr = request.QueryString("echostr")
encrypt_type = request.QueryString("encrypt_type")
msg_signature = request.QueryString("msg_signature")

'驗證微信接口
If EchoStr<>"" then       
        '下面進行Token,TimesTamp,Nonce三個參數的字典排序
        dim str,i
        dim Myarray:Myarray=Sort(Array(Token,TimesTamp,Nonce))
        For i=0 To Ubound(Myarray)
            str=str&Myarray(i)
        Next
        if Lcase(SignaTure)=Lcase(SHA1(str,"Hex")) then
            Response.Write EchoStr    '驗證成功,返回正確EchoStr給微信,接通接口API
            Response.End()
        end if
End if



'獲取微信主動發送過來的內容
Set xmldom = Server.CreateObject("MSXML2.DOMDocument")
            xmldom.load request
            xml = xmldom.documentElement.xml
            'call CreateTextFile(request.QueryString&xml,"a.txt")
            If encrypt_type = "aes" Then
               res =  ToAes(xml,0)
               xmldom.loadxml res
            End If
            ToUserName=xmldom.getelementsbytagname("ToUserName").item(0).text '接收者微信賬號。即我們的公眾平臺賬號。
            FromUserName=xmldom.getelementsbytagname("FromUserName").item(0).text '發送者微信賬號Openid
            CreateTime=xmldom.getelementsbytagname("CreateTime").item(0).text
            MsgType=xmldom.getelementsbytagname("MsgType").item(0).text
            if (MsgType="event") then
                strEventType=xmldom.getelementsbytagname("Event").item(0).text '微信事件
                if strEventType="subscribe" then '表示訂閱微信公眾平臺
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        Content="感謝關注"
                        if EventKey<>"" then
                            EventKey=replace(EventKey,"qrscene_","")
                            Content = "你的上線ID:"&EventKey
                        Else
                            EventKey= 0
                            Content = "感謝關注"                              
                        end if
                        Call Login(EventKey,FromUserName)
                        Call Return_Text(Content)
                ElseIf strEventType="unsubscribe" Then'取消關注
                        Content="取消關注"
                        Call Return_Text(Content)
                ElseIf strEventType="CLICK" Then'點擊菜單獲取關鍵字,獲取
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        Content=EventKey
                        Call Return_Text(Content)
                ElseIf strEventType="VIEW" Then'點擊菜單獲取關鍵字,跳轉到鏈接
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        Content=EventKey
                        Call Return_Text(Content)
                ElseIf strEventType="SCAN" Then '掃描二維碼
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        Content= "歡迎再次光臨"
                        Call Return_Text(Content)
                ElseIf strEventType="scancode_push" or strEventType="scancode_waitmsg" Then    '點擊菜單,調用掃碼推事件的事件推送
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        ScanResult=xmldom.getelementsbytagname("ScanResult").item(0).text
                        Content=ScanResult
                        Call Return_Text(Content)
                ElseIf strEventType="pic_sysphoto" or strEventType="pic_photo_or_album" or strEventType="pic_weixin" Then    '點擊菜單,調用系統拍照發圖
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        Counts=xmldom.getelementsbytagname("Count").item(0).text
                        Content="拍照發圖,接收【"&Counts&"】張圖片"
                        Call Return_Text(Content)
                ElseIf strEventType="location_select" Then    '點擊菜單,調用位置發送
                        EventKey=xmldom.getelementsbytagname("EventKey").item(0).text
                        Location_X=xmldom.getelementsbytagname("Location_X").item(0).text
                        Location_Y=xmldom.getelementsbytagname("Location_Y").item(0).text
                        Scale=xmldom.getelementsbytagname("Scale").item(0).text
                        Label=xmldom.getelementsbytagname("Label").item(0).text
                        Content="發送位置"&EventKey
                        Call Return_Text(Content)                   
                ElseIf strEventType="LOCATION" Then'獲取用戶地理位置,當用戶打開對話框時,自動獲取微信用戶的實時地址。本功能需要配合服務號的LEB接口。
                        Latitude=xmldom.getelementsbytagname("Latitude").item(0).text
                        Longitude=xmldom.getelementsbytagname("Longitude").item(0).text
                        Precision=xmldom.getelementsbytagname("Precision").item(0).text
                        '記錄用戶LEB信息
                end if
            else
                MsgId=xmldom.getelementsbytagname("MsgId").item(0).text
            End If
            If MsgType="text" then'接收文本信息
                Content=xmldom.getelementsbytagname("Content").item(0).text
                Call Return_Text(Content)
            elseif MsgType="image" then'接收圖片信息
                MediaId=xmldom.getelementsbytagname("MediaId").item(0).text
                PicUrl=xmldom.getelementsbytagname("PicUrl").item(0).text
                Content=PicUrl
                Call Return_Text(Content)       
            elseif MsgType="voice" then'"接收語音信息
                MediaId=xmldom.getelementsbytagname("MediaId").item(0).text
                Format=xmldom.getelementsbytagname("Format").item(0).text
                Content=MediaId
                Call Return_Text(Content)
            elseif MsgType="video" then'接收視頻信息
                MediaId=xmldom.getelementsbytagname("MediaId").item(0).text
                ThumbMediaId=xmldom.getelementsbytagname("ThumbMediaId").item(0).text
                Content=MediaId
                Call Return_Text(Content)
            elseif MsgType="location" then'接收位置信息
                Location_X=xmldom.getelementsbytagname("Location_X").item(0).text
                Location_Y=xmldom.getelementsbytagname("Location_Y").item(0).text
                Scale=xmldom.getelementsbytagname("Scale").item(0).text
                Label=xmldom.getelementsbytagname("Label").item(0).text
                Content="地理位置"&Location_X&","&Location_Y&"你發的是地址信息:"&Label
                Call Return_Text(Content)
            elseif MsgType="link" then'接收鏈接信息
                Title=xmldom.getelementsbytagname("Title").item(0).text
                Descriptions=xmldom.getelementsbytagname("Description").item(0).text
                Url=xmldom.getelementsbytagname("Url").item(0).text
                Content=Url
                Call Return_Text(Content)
            end if   
set xmldom=Nothing           

'多圖文消息
Function Return_News(Articles)
ArticleCount = Ubound(Articles)+1
str = "<xml>"&_
      "<ToUserName><![CDATA["&FromUserName&"]]></ToUserName>"&_
      "<FromUserName><![CDATA["&ToUserName&"]]></FromUserName>"&_
      "<CreateTime>"&DateDiff("s","1970-01-01 08:00:00",Now())&"</CreateTime>"&_
      "<MsgType><![CDATA[news]]></MsgType>"&_
      "<ArticleCount>"&ArticleCount&"</ArticleCount>"&_
      "<Articles>"
For i = 0 To ArticleCount-1
str = str & "<item>"&_
      "<Title><![CDATA["&Articles(i)(0)&"]]></Title>"&_
      "<Description><![CDATA["&Articles(i)(1)&"]]></Description>"&_
      "<PicUrl><![CDATA["&Articles(i)(2)&"]]></PicUrl>"&_
      "<Url><![CDATA["&Articles(i)(3)&"]]></Url>"&_
      "</item>"
Next
str = str & "</Articles>"&_
      "</xml>"
Response.Write str
End Function

'文本消息
Function Return_Text(Content)
str = "<xml>"&_
      "<ToUserName><![CDATA["&FromUserName&"]]></ToUserName>"&_
      "<FromUserName><![CDATA["&ToUserName&"]]></FromUserName>"&_
      "<CreateTime>"&DateDiff("s","1970-01-01 08:00:00",Now())&"</CreateTime>"&_
      "<MsgType><![CDATA[text]]></MsgType>"&_
      "<Content><![CDATA["&Content&"]]></Content>"&_
      "</xml>"
Response.Write str    
End Function

'字典排序
Function Sort(ary)
        Dim KeepChecking,I,FirstValue,SecondValue
        KeepChecking = TRUE
        Do Until KeepChecking = FALSE
            KeepChecking = FALSE
            For I = 0 to UBound(ary)
                If I = UBound(ary) Then Exit For
                If ary(I) > ary(I+1) Then
                    FirstValue = ary(I)
                    SecondValue = ary(I+1)
                    ary(I) = SecondValue
                    ary(I+1) = FirstValue
                    KeepChecking = TRUE
                End If
            Next
        Loop
        Sort = ary
End Function
   
Function PostHTTPPage(url,data)
    dim Http
    set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
    Http.open "POST",url,false
    Http.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
    Http.send(data)
    if Http.readystate<>4 then
    exit function
    End if
    PostHTTPPage=Http.responseText
    set http=nothing
    if err.number<>0 then err.Clear
End Function

Function SHA1(ByVal Str,ByVal Types)
    Dim TAsc,Enc,Bytes,objXML,objXMLNode,Outstr
    'Borrow some objects from .NET (supported from 1.1 onwards)
    Set TAsc = Server.CreateObject("System.Text.UTF8Encoding")
    Set Enc = Server.CreateObject("System.Security.Cryptography.SHA1CryptoServiceProvider")
    'Convert the string to a byte array and hash it
    Bytes = TAsc.GetBytes_4(Str)
    Bytes = Enc.ComputeHash_2((Bytes))
    'Convert the byte array to a hex or bsae64 string
    Outstr = ""
    If Types = "Base64" Then
        Set objXML = Server.CreateObject("Msxml2.DOMDocument")
        Set objXMLNode = objXML.createElement("a")
        objXMLNode.DataType = "bin.base64"
        objXMLNode.NodeTypedValue = Bytes
        Outstr = Replace(objXMLNode.Text,Chr(10),"")
        Set objXML = Nothing
        Set objXMLNode = Nothing
    ElseIf Types = "Hex" Then
        Set objXML = Server.CreateObject("Msxml2.DOMDocument")
        Set objXMLNode = objXML.createElement("a")
        objXMLNode.DataType = "bin.hex"
        objXMLNode.NodeTypedValue = Bytes
        Outstr = Replace(objXMLNode.Text,Chr(10),"")
        Set objXML = Nothing
        Set objXMLNode = Nothing
    End If
    SHA1 = Outstr
    Set Enc = Nothing
    Set TAsc = Nothing
End Function

Sub Login(genKey,openid)
    Set Rs = Conn.ExeCute("Select * From [Wx_user] Where openid='"&openid&"'")
    If Rs.Eof Then
    UserInfo = Wx.Get_UserInfo(openid)
      nickname = UserInfo(0)
    sex = UserInfo(1)
    icon = UserInfo(2)
    province = UserInfo(4)
    city = UserInfo(5)   
    Conn.ExeCute("Insert Into [Wx_user]([username],[password],headurl,sex,province,city,openid,genkey,pid) values('"&nickname&"','"&openid&"','"&icon&"',"&sex&",'"&province&"','"&city&"','"&openid&"','"&genkey&"',"&genkey&")")
    End If
End Sub

%>

相關閱讀
可移動的彈出層
鄧州市途鴻旅行社
旅行社網站模板默認風格6
設為首頁代碼
asp利文本文檔加FSO統計網站訪問量的方法
asp用cDec將二進制轉十進制然后再用cBit將十進制轉二進制
汽車租賃系統
windows2003的IIS文件上傳大小限制的解決方案
共有0條關于《微信公眾號生成帶參數的二維碼asp源碼下載》的評論
發表評論
正在加載評論......
返回頂部發表評論
呢 稱:
表 情:
內 容:
評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
驗證碼: 驗證碼 
網友評論聲明,請自覺遵守互聯網相關政策法規。

您發布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發布內容擁有處置權。

更多信息>>欄目類別選擇
百度小程序開發
微信小程序開發
微信公眾號開發
uni-app
asp函數庫
ASP
DIV+CSS
HTML
python
更多>>同類信息
微信公眾號用戶關注時自動推送回復小程序卡片(圖文卡片)不需要第三方平臺就可以做
微信公眾號用客服接口推送菜單消息
微信公眾號回復圖文消息或用客服接口推送圖文消息
微信公眾號回復音樂消息或用客服接口推送音樂消息
微信公眾號回復視頻消息或用客服接口推送視頻消息
微信公眾號回復語音消息或用客服接口推送語音消息
更多>>最新添加文章
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
抖音直播音掛載小雪花 懂車帝小程序
javascript獲取瀏覽器指紋可以用來做投票
火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
更多>>隨機抽取信息
利用aspJpeg組件生成多圖片水印組合時給加上透明水印圖片
火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
JS獲取網頁中HTML元素的幾種方法
javascript實現圖片預覽功能
ASP.NET常用的三十三種實用代碼(上)
極酷的,漂亮的頁面loading等待頁面特效(2)
主站蜘蛛池模板: 亚洲情a成黄在线观看动 | 女人18毛片水真多国产 | 国产五月天在线 | 26uuu天天夜夜综合 | 97视频在线观看视频在线精品 | 麻豆成人在线视频 | 四虎成人影视 | 久久成人亚洲香蕉草草 | 日韩影视在线观看 | 日日奇 | 9久久9久久精品 | 深入敌后免费高清完整版在线观看 | 激情五月黄色 | 成人综合视频网 | 日韩精品一区二区三区在线观看l | 女人18一级毛片免费观看 | xx肥妇人爽妇网 | 久久精品国产99国产精偷 | 青青精品| 精品国产一区二区三区在线 | 手机在线观看国产精选免费 | 亚洲精品免播放器在线观看 | 日韩欧美一区二区三区免费看 | 国产精品日韩在线观看 | 一级毛片在线播放免费 | 五月欧美激激激综合网色播 | 黑色皮革手册在线观看 | 精品日本三级在线观看视频 | 性88分钟在线播放 | 久久精品亚洲一区二区 | 亚洲欧美中文字幕高清在线一 | 青草视频入口 在线观看 | 二级片免费看 | 国产99久久久国产精品小说 | 国产一区91 | 亚洲精品视频在线观看免费 | 亚洲一区二区三区四区在线 | 久久久久久久久久免免费精品 | 羞羞色男人的天堂伊人久久 | 成人综合激情网 | 一区二区在线观看高清 |