服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - 通过MSXML2自动获取QQ个人头像及在线情况(给初学者)

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

2019-10-22 10:04asp教程网 ASP教程

不知道大家对MSXML2.XMLHTTP是不是很熟悉,不过它的功能可以说是达到了极点.你可以通过它把别人的网站都搬回来,呵呵,吹牛啦!! 今天我就用它从腾讯网站获取一个QQ号码的头像,在线情况(人家隐身了我也没办法).当然大家也可以获取

不知道大家对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看看效果.呵呵. 

延伸 · 阅读

精彩推荐