`
faiinlove
  • 浏览: 56165 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PHP导出QQ好友

    博客分类:
  • php
阅读更多

 

从昨天晚上开始搞,搞了一个通宵,终于搞定。

昨晚,想了一下我们游戏如果能够通过QQ好友进行推广,是不是可以省去不少广告费那?

先不管这么多,自己到网上搜索了一下腾讯的协议,基本上都是1年前的老帖子了

大部分都已经失效,不能用了,腾讯的协议修改太快了。

但是网上我发现有人用QQ邮箱导出联系人的方法,这个方法不错,但是有个小弊端,如果我没有开通QQ邮箱的话,就不能导出好友列表了。

所以,我想到了用web.qq.com登录导出好友,参考了网上那位导出QQ邮箱里面联系人的方法,搞定了web.qq.com的登录。

后面遇到了不少坎,web.qq.com上面获取好友列表还是比较麻烦的,还要先登录web-proxy.qq.com服务器,然后再发送那些特殊的指令来获取好友列表,但是不知道为什么PHP的curl,只能执行到登陆web-proxy.qq.com,再发送一个获取好友列表的命令就一直卡住不动。

眼看马上就要成功了,竟然被这个玩意卡住了,郁闷死我了,我认为web.qq.com是使用的长连接,可能会对我的结果造成阻塞,我就搞QQ空间去了,找到了比较完美的方法获取好友列表,但是,麻烦又出现了。

又是卡住的问题,登录完之后,直接执行获取列表,就会卡死,郁闷的已经不行了,都快凌晨4点了,实在郁闷。

老子就不信这个邪,我又换了一种方式,不用curl了,拿fsockopen测试了一下,发现没有卡住的现象,curl这个破东西不管怎么设置都不行,我决定用fsockopen这个函数了,终于把函数封装好了,问题又来了。

登录之后取不到Cookie,腾讯的服务器提示我服务器繁忙,郁闷郁闷实在郁闷,又复习了一遍HTTP协议,然后下载了个http的抓包工具,仔细看了看浏览器到底怎么提交的,我缺少了什么,终于有收获了,原来我把Cookie的位置弄错了,Cookie必须写在下面。

所有的问题都一一解决,把程序修改好,试了一下,哇哈哈,搞定,很爽!

这个程序比起原先用邮箱联系人的方法要好一些,只要这个人开通了QQ空间,就可以导出好友。

也不会提示您的QQ已在其他地方登陆,web.qq.com登录的话会提示您在其他地方登陆,这个比较恶心。

测试地址:http://test.jzwar.cn/webqq/

【友情链接:云枫文学 - 一个PHP写的小说搜索引擎

有不少人找我要代码,现在我就把代码贴一下截图,自己敲代码,自己研究吧!






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics