当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 通过MSXML2自动获取QQ个人头像及在线情况(给初学者)

Javascript
xp风格菜单
具有edit功能的combobox
可以编辑的Select (第二版)
IE6.0打印机制解析
JScript5.5下String.prototype.replace(str,func)的UBB嵌套的递归解开。
vbscript和javascript互相调用方法
转换大写中文数字
Freeonline在线编辑器(自由软件)
对象化JS之----文件上传客户端控制脚本
对象化JS之----日期选择
对象化JS之----仿outlook或者QQ的菜单
如何使用Shell.Application技术
模拟windows control的进度条
双向链表&&堆栈
网页中的媒体播放器
如何在页面显示来访者分辨率,浏览器(js)
子父窗口之间的操作之小例子
JavaScript 实现日历式日期选择
页面上的javascript判断
在客户端用JAVASCRIPT或VBSCRIPT生成WORD文档

Javascript 中的 通过MSXML2自动获取QQ个人头像及在线情况(给初学者)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 70 ::
收藏到网摘: n/a

不知道大家对MSXML2.XMLHTTP是不是很熟悉,不过它的功能可以说是达到了极点.你可以通过它把别人的网站都"搬回来",呵呵,吹牛啦!!
今天我就用它从腾讯网站获取一个QQ号码的头像,在线情况(人家隐身了我也没办法).当然大家也可以获取QQ的昵称,所在地等.具体实现方法如下:
先建立两个函数,用来处理一个URL
复制代码 代码如下:

<%
function getHTTPPage(url)
dim http
set http=createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytes2BSTR(Http.responseBody)
set http=nothing
if err.number<>0 then err.Clear
end function
'''''''以下处理字符
Function bytes2BSTR(vIn)
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
%>
这两个函数你可以收藏起来,用处大得不得了.
大家可以先看看这个地址http://friend.qq.com/cgi-bin/friend/oicq_find?oicq_no=5292816
(QQ是本人的,我每天都很忙,请大家自觉,呵呵,讨论问题非常欢迎)
以下我们就通过腾讯的好友查找来获取信息,
复制代码 代码如下:

<%
function qqhead(qq)
url="http://friend.qq.com/cgi-bin/friend/oicq_find?oicq_no="&qq
content=getHTTPPage(url)
if len(content)>6360 then '如果QQ无效,做一些处理,避免错误发生.
content=replace(mid(content,instr(content,"http://img.tencent.com"),38),"""","")
qqhead="<a href='http://friend.qq.com/cgi-bin/friend/user_show_info?ln="&qq&"' target='_blank'><img src='"&content&"' title='QQ:"&qq&"' border='0'></a>"
else
qqhead=""
end if
end function
'OK了,大功告成了.现在大家只要调用就行了.
response.write qqhead(5292816)
如果QQ头像是彩色的,说明好友在线,灰的就是不在线.
%>
大家可以到http://www.okwest.net/books看看效果.呵呵.