msnSDK訊息控制開發套件 同時支援MSN/Yahoo即時通 訊息雙向傳遞
ASP 的範例我們使用ADO介面來處理,其他語言也可以這樣做,可參考文件(文末提供下載處),另外;下面的程式碼重要的部份只有參數不同,其他大同小異,可參考紅字部分
ps.也請參考 msnSDK的使用流程
(抱歉!太久沒碰ASP,不過基本上;下面這個範例可正確發送MSN訊息)
<%
'--
'---STEP1 取得API 使用權限
'--
on error resume next
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'如果遇到中文,請使用Server.URLEncode 來處理
'比如 : ...&pname=Server.URLEncode("中文姓名")&...
URL= "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?FUNC=GETSPID&USERID=apiblogt6&PASSWD=msnsdkt&RETTYPE=ADO"
xmlHTTP.open "GET", URL, false
xmlHTTP.send()
if err.description <>"" then
Set xmlHTTP= Nothing
response.write "無法連接遠端伺服器," & err.description
response.end
end if
'--
'將得到的訊息存入 myRS_....xml
'--
set myStream = Server.CreateObject("ADODB.Stream")
myStream.Open
myStream.Charset = "big5"
myStream.WriteText xmlHTTP.ResponseText
myStream.Position = 0
'---
'防止重複的process 存取xml
'---
Febber = Split("1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")
For I = 0 To 3
Randomize
keychar = keychar & Febber(Int((62 * Rnd) + 1) - 1)
next
myXMLfile = Server.Mappath("./myRS_" & keychar & ".xml")
myStream.SaveToFile myXMLfile
myStream.Close
'--
'取得myRS_$random.xml 的結果
'--
set rs = server.createobject("adodb.recordset")
rs.Open myXMLfile
Do While Not (rs.EOF)
if (rs(0)=1) then
spid=rs(1)
response.write "取得SPID=" & rs(1) & "
"
else
response.write "認證失敗=" & rs(0)& "," & rs(1) & "
"
response.end
end if
rs.MoveNext
Loop
rs.Close
'--
'刪除暫存檔
'--
set FSO = Server.Createobject("Scripting.FileSystemObject")
Fso.DeleteFile myXMLfile
'--
'釋放使用的物件
'--
set FSO = Nothing
Set myStream = Nothing
Set rs = Nothing
Set xmlHTTP= Nothing
'--
'--
'---STEP2 邀請聯絡人
'--
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'如果遇到中文,請使用Server.URLEncode 來處理
'比如 : ...&pname=Server.URLEncode("中文姓名")&...
'請注意!
'邀請聯絡人 XXXXXXXX@hotmail.com 請填正確的聯絡人,執行此SUB 後
'msnSDK 會邀請這個人加入聯絡人,必須加入聯絡人後才能發送訊息
'session 由GETSPID 所取得的 spid
URL= "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?FUNC=REGISTER&UIDS=XXXXXXXX@hotmail.com&SESSION=" & spid & "&RETTYPE=ADO"
xmlHTTP.open "GET", URL, false
xmlHTTP.send()
if err.description <>"" then
Set xmlHTTP= Nothing
response.write "無法連接遠端伺服器," & err.description
response.end
end if
'--
'將得到的訊息存入 myRS_....xml
'--
set myStream = Server.CreateObject("ADODB.Stream")
myStream.Open
myStream.Charset = "big5"
myStream.WriteText xmlHTTP.ResponseText
myStream.Position = 0
'---
'防止重複的process 存取xml
'---
Febber = Split("1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")
For I = 0 To 3
Randomize
keychar = keychar & Febber(Int((62 * Rnd) + 1) - 1)
next
myXMLfile = Server.Mappath("./myRS_" & keychar & ".xml")
myStream.SaveToFile myXMLfile
myStream.Close
'--
'取得myRS_$random.xml 的結果
'--
set rs = server.createobject("adodb.recordset")
rs.Open myXMLfile
Do While Not (rs.EOF)
response.write "邀請聯絡人回應=" & rs(0) & "," & rs(1) & "," & rs(2) & "
"
rs.MoveNext
Loop
rs.Close
'--
'刪除暫存檔
'--
set FSO = Server.Createobject("Scripting.FileSystemObject")
Fso.DeleteFile myXMLfile
'--
'釋放使用的物件
'--
set FSO = Nothing
Set myStream = Nothing
Set rs = Nothing
Set xmlHTTP= Nothing
'--
'--
'---STEP3 發送訊息
'--
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'如果遇到中文,請使用Server.URLEncode 來處理
'比如 : ...&pname=Server.URLEncode("中文姓名")&...
'請注意!
'傳送訊息給 XXXXXXXX@hotmail.com 請填正確的聯絡人,執行此SUB 後
'msnSDK 會邀請這個人加入聯絡人,必須加入聯絡人後且這個人在線上才能
'發送訊息,如要傳離線訊息請參考文件
'session 由GETSPID 所取得的 spid
msg=Server.URLEncode("測試")
URL= "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?UIDS=XXXXXXXX@hotmail.com&MSG=" & msg &"&flags=0&FUNC=SENDMSG&ENCODING=BIG5&RETTYPE=ADO&SESSION=" & spid
xmlHTTP.open "GET", URL, false
xmlHTTP.send()
if err.description <>"" then
Set xmlHTTP= Nothing
response.write "無法連接遠端伺服器," & err.description
response.end
end if
'--
'將得到的訊息存入 myRS_....xml
'--
set myStream = Server.CreateObject("ADODB.Stream")
myStream.Open
myStream.Charset = "big5"
myStream.WriteText xmlHTTP.ResponseText
myStream.Position = 0
'---
'防止重複的process 存取xml
'---
Febber = Split("1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")
For I = 0 To 3
Randomize
keychar = keychar & Febber(Int((62 * Rnd) + 1) - 1)
next
myXMLfile = Server.Mappath("./myRS_" & keychar & ".xml")
myStream.SaveToFile myXMLfile
myStream.Close
'--
'取得myRS_$random.xml 的結果
'--
set rs = server.createobject("adodb.recordset")
rs.Open myXMLfile
Do While Not (rs.EOF)
response.write "傳送訊息回應=" & rs(0) & "," & rs(1) & "," & rs(2) & "
"
rs.MoveNext
Loop
rs.Close
'--
'刪除暫存檔
'--
set FSO = Server.Createobject("Scripting.FileSystemObject")
Fso.DeleteFile myXMLfile
'--
'釋放使用的物件
'--
set FSO = Nothing
Set myStream = Nothing
Set rs = Nothing
Set xmlHTTP= Nothing
'--
%>
其他更詳細的參數可以參考msnSDK訊息控制開發套件程式介面說明書
相关推荐
用Winsock 来做到点对点的Client Server 讯息互换的程式
/237 第五章 Window Subclassing和Window Superclassing /325 第六章 讯息拦截(Hooks) /387 第七章 档案的拖放(Drag-and-Drop)技术 /499 第八章 按键的处理 /541 第九章 版本控制(Version Control) /593
ELMAH 是一套真正外掛式的解決方案,意味著不需要重新編譯或重新部署,就可以動態加入一個執行中的ASP.NET Web 應用程式。 ELMAH 是一套真正外挂式的解决方案,意味着不需要重新编译或重新部署,就可以动态加入一个...
类似MSN Messages的POP讯息框
它执行时,会先扫描注册表,搜集已安装程式的讯息,包含部份未于 " 新增/移除程式" 所显示的程式。它执行后,会分类列出所有安装程式、隐藏程式、Windows 更新程式等。使用者亦可执行不同检视动作,浏览程式简易资料...
这个应用程式使用android wifi P2P在使用者之间传送讯息 在这一点上,团体还不支持没有文件传输支持,但我也期待着对此进行努力。 脚步: 安装在2台设备中 按“发现设备”(在两个设备上) 等待查看设备列表 点击...
达到伺服器端与客户端的互动式、双向讯息交换,包含多点触碰讯息即时交换并呈现、画面即时同步等外,并提供一系列high level 应用函式库,如画面编辑等,供软体开发工程师等快速布署android 相关应用程式。...
Android应用程式,可透过简讯讯息远端控制手机。 将应用程序安装在应受到控制的设备上,并从任何Messenger发送控制命令。 兼容的android版本: 4.1(Jelly Bean)和更高版本 直接从或获取安装程序。 特征 指定可...
计算机软件-商业源码-类似MSN Messages的弹出讯息框.zip
使用本机开启服务,并利用此程序联机到Server,联机完成后,可发送请求,并回收结果,同时将收到的讯息转换为JSON序列
以ASP连接MS Access资料库常见错误讯息整理表
第一篇撰写第一个JavaScript程式 第二篇让网页显示日期和时间 第三篇设计动态网页讯息 第四篇制作跑马灯及广告轮播效果 第五篇制作动态网页背景、文字特效 第六篇超连结各种特效 第七篇记录浏览者的资讯
对MFC六大关键技术的模拟(MFC的类别层次,MFC程式的初始化过程,RTII,动态生成,机制,讯息映射,命令绕行) 3。对Visual C++整合开发环境的介绍。 4。对MFC三大巨集的详细分析。 5。MFC的层次结构和MFC的骨干程式...
黑暗消息 讯息应用程式的深色模式(iOS 10) 兼容性 支持iOS 10 需要越狱的iPhone,iPad或iPod Touch。 可用性 可从Cydia的BigBoss存储库免费获得DarkMessages。
协助让 World Client 更好使用的客户端程式。它可以 1.常驻在系统匣。 2.定时去栓查指定 URL 的 World Client ,是否有新信件。 3.自动帮你键入帐号密码。 4.如果有新信件,可以直接在 ComAgent 读取,不必再麻煩的 ...
对MFC六大关键技术的模拟(MFC的类别层次,MFC程式的初始化过程,RTII,动态生成,机制,讯息映射,命令绕行) 3。对Visual C++整合开发环境的介绍。 4。对MFC三大巨集的详细分析。 5。MFC的层次结构和MFC的骨干程式...
开发者不需要更改任何的原代码,和不需要程式编制的经验使用WinLicense。 WinLicense使用SecureEngine®的保护技术。它能够以最高的优先等级运行,这些保护技巧是从来都没在电脑防御技术领域出现过,使它最大...
开发者不需要更改任何的原代码,和不需要程式编制的经验使用WinLicense。 WinLicense使用SecureEngine®的保护技术。它能够以最高的优先等级运行,这些保护技巧是从来都没在电脑防御技术领域出现过,使它最大...
Gaim的安装版本中附带有很多流行的通讯插件,比如Yahoo通、MSN Messenger、ICQ、AIM、IRC等等。Gaim通过一个统一的界面实现了所有得到支持的即时通讯软件的基本功能,这些基本功能包括收发讯息、管理聊天记录、管理...