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

Javascript
innerHTML和innerText的用法
单击按钮复制定义好的内容到剪贴板
浏览器兼容性:停止事件冒泡和阻止浏览器的默认行为
javascript初学者:全面学习对象概念
10款图片展示Javascript代码
解决ajax跨域问题的实例
rails制作rss feed
javascript变量作用域在不同浏览器的处理
网页整理的JS技巧代码
js操作iframe的src的例子
Javascript利用循环绑定事件的例子
Javascript网页恶意代码
javascript恶意代码修改主页修复
JavaScript折叠式列表的网页制作
初学Javascript的总结
JavaScript编程实践中容易出错的地方
JavaScript容易犯错的九个陷阱
复制文章自动附加版权信息
MooTools教程(1):认识MooTools
MooTools教程(2):DOM选择器

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 276 ::
收藏到网摘: 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看看效果.呵呵.