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


Posted in Javascript onJanuary 22, 2007

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

Javascript 相关文章推荐
用JQuery 实现AJAX加载XML并解析的脚本
Jul 25 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
js函数在frame中的相互调用详解
Mar 03 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
Aug 25 Javascript
微信小程序上传图片功能(附后端代码)
Jun 19 Javascript
vue中的v-if和v-show的区别详解
Sep 01 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
Vue如何使用混合Mixins和插件开发详解
Feb 05 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
Apr 01 jQuery
Javascript技术技巧大全(五)
Jan 22 #Javascript
深入认识JavaScript中的函数
Jan 22 #Javascript
Ajax::prototype 源码解读
Jan 22 #Javascript
showModalDialog 和 showModelessDialog
Jan 22 #Javascript
javascript 中对象的继承〔转贴〕
Jan 22 #Javascript
利用javascript中的call实现继承
Jan 22 #Javascript
Javascript里使用Dom操作Xml
Jan 22 #Javascript
You might like
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
详解php反序列化
2020/06/10 PHP
接收键盘指令的脚本
2006/06/26 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
详解AngularJS之$window窗口对象
2018/01/17 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
利用python实现在微信群刷屏的方法
2019/02/21 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
python字典的值可以修改吗
2020/06/29 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
英文简历中的自我评价
2013/10/06 职场文书
售后求职信范文
2014/03/15 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
师范生小学见习总结
2015/06/23 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS