第四讲 smart qq 获取联系人信息 ,分组 好友 群聊
首先从post一下 http://s.web2.qq.com/api/get_user_friends2 这个链接获取分组categories ,好友信息 friends,info。
string url = "http://s.web2.qq.com/api/get_user_friends2";
string sendData = string.Format("r={{\"vfwebqq\":\"{0}\",\"hash\":\"{1}\"}}", Login_Vfwebqq, Login_Hash);
string dat = HTTP.Post(url, sendData, "http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1");
获取到data 是json 格式自己在线转换成 C# 实体类 然后就可以直接 JsonConvert.DeserializeObject()(朋友改了一个在线解析工具还有转sql等,方便自己而已)
具体转换在源码。
获取讨论组
string url = "http://s.web2.qq.com/api/get_discus_list?clientid=53999199&psessionid=#{psessionid}&vfwebqq=#{vfwebqq}&t=#{t}".Replace("#{psessionid}", Login_Psessionid).Replace("#{vfwebqq}", Login_Vfwebqq).Replace("#{t}", TimeStamp());
string dat = HTTP.Get(url, "http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2");
获取讨论组 组员信息
string url = "http://d1.web2.qq.com/channel/get_discu_info?did=#{discuss_id}&psessionid=#{psessionid}&vfwebqq=#{vfwebqq}&clientid=53999199&t=#{t}".Replace("#{t}", TimeStamp());
url = url.Replace("#{discuss_id}", did).Replace("#{psessionid}", Login_Psessionid).Replace("#{vfwebqq}", Login_Vfwebqq);
string dat = HTTP.Get(url, "http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2");
获取个人信息
string url = string.Format("http://s.web2.qq.com/api/get_self_info2?t={0}", TimeStamp());
string dat = HTTP.Get(url);
获取头像
string url = string.Format ("https://face0.web.qq.com/cgi/svr/face/getface?cache=1&type=1&f=40&uin={0}&t={1}&vfwebqq={2}",uin,TimeStamp() ,Login_Vfwebqq);
string dat = HTTP.Get(url);
获取群列表
string url = "http://s.web2.qq.com/api/get_group_name_list_mask2";
string sendData = string.Format("r={{\"vfwebqq\":\"{0}\",\"hash\":\"{1}\"}}", Login_Vfwebqq, Login_Hash);
string dat = HTTP.Post(url, sendData, "http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2");
获取群详细信息
string url = "http://s.web2.qq.com/api/get_group_info_ext2?gcode=#{group_code}&vfwebqq=#{vfwebqq}&t=#{t}".Replace("#{group_code}", gcode).Replace("#{vfwebqq}", Login_Vfwebqq).Replace("#{t}", TimeStamp());
string dat = HTTP.Get(url, "http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1");
以上链接就是获取到
联系人信息 ,分组 好友 群聊 信息
获取到的data 是json 格式自己在线转换成 C# 实体类 然后就可以直接 JsonConvert.DeserializeObject()也可以用别的方法进行格式化(朋友改了一个在线解析工具还有转sql等,可以直接json转成c# 代码 实体类 赋值类等。方便自己而已)
以上具体转换在源码。
第四讲 smart qq 获取联系人信息 ,分组 好友 群聊的更多相关文章
- 第五讲 smart qq poll包处理 以及 私聊 群聊消息收发
发送 poll包 public static void Login_PostPoll() { try { string url = "http://d1.web2.qq.com/channe ...
- 第六讲 smart qq C#开发总结
smart qqC#开发总结: 整个开发下来其实一点都不是很难,从一开始二维码 获取到最终的收发消息,基本上都是模拟浏览器的操作.都是基于http通讯.一下就是 本次新手学习http协议的最关键的一个 ...
- Android 手机卫士--获取联系人信息并显示与回显
前面的文章已经实现相关的布局,本文接着进行相关的功能实现 本文地址:http://www.cnblogs.com/wuyudong/p/5951794.html,转载请注明出处. 读取系统联系人 当点 ...
- Android初级教程之内容提供者获取联系人信息
内容提供折详细理论知识请参考之前的博文:http://blog.csdn.net/qq_32059827/article/details/51646513 这里新建了三个联系人信息,通过查看系统联系人 ...
- android通过查询电话号码获取联系人信息
// 取得Intent中的頭像 ivShowImage = (ImageView) findViewById(R.id.call_log_detail_contact_img); //通话电话号码获取 ...
- 第四十九篇 -- 添加联系人信息Addcontact
往通讯录里添加联系人 首先,在清单文件里添加读写权限 <uses-permission android:name="android.permission.READ_CONTACTS&q ...
- Android 中运行时权限获取联系人信息 Demo
代码比较简单... AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <m ...
- 【实用篇】获取Android通讯录中联系人信息
第一步,在Main.xml布局文件中声明一个Button控件,布局文件代码如下: <LinearLayout xmlns:android="http://schemas.android ...
- Android(java)学习笔记250:ContentProvider使用之获得系统联系人信息02(掌握)
1.重要: 系统删除一个联系人,默认情况下并不是把这个联系人直接删除掉了,只是做了一个标记,标记为被删除. 2.前面一讲说过了如何获取系统联系人信息(通过ContentProvider),获取联系人信 ...
随机推荐
- Python 字符串十六进制流
字符串转十六进制绕过特征检测SQL注入 Python中内置库与出色第三方库的学习 # 字符串转十六进制 mystr = "hello world" print(":&qu ...
- javaWeb中MVC的编程思想示例
没有学习MVC之前我只写了一个Servlet类(Note_List.java),分层之后,我将这个类分成了5个类(NoteDao.java,,NoteDaoImpl.java,,NoteService ...
- Hadoop 和 MPP 的比较
如果我们回顾5年前会发现,那就是当时Hadoop不是大多数公司的选择,特别是那些要求稳定和成熟的平台的企业. 在这一刻,选择非常简单:当您的分析数据库的大小超过5-7 TB时,您只需启动MPP迁移项目 ...
- 微信小程序中的app.js-清除缓存
微信小程序中的app.js 关于小程序app.js生命周期的介绍 App(Object) App() 函数用来注册一个小程序.接受一个 Object 参数,其指定小程序的生命周期回调等. App() ...
- 微信小程序的wx-charts插件-tab选项卡
微信小程序的wx-charts插件-tab选项卡 效果: //index.js var wxCharts = require('../../utils/wxcharts-min.js'); const ...
- ansible中include_tasks和import_tasks
简介 本文主要总结下ansible里task调用的方法有哪些和它们的主要区别 随着要管理的服务不断增多,我们又没将task放到roles里,会发现playbook文件越来越大,内容也越来越多,管理起 ...
- python Event_loop(事件循环)
由于GIL全局解释器锁的存在,意味着在任何一个时刻,只有一个线程处于执行状态. (1)执行栈: 因为python是单线程的,同一时间只能执行一个方法,所以当一系列的方法被依次调用的时候,python会 ...
- Canny算子
Canny边缘检测算子是John F. Canny于1986年开发出来的一个多级边缘检测算法.更为重要的是Canny创立了“边缘检测计算理论”(computational theory of edge ...
- JSON库的使用研究(三)
怎么选择JSON库? 从整体测试结果来看,总结如下: 用于序列化.反序列的功能,数量量小,吞吐量不大于10000每秒的,选择gson: 用于解析JSON的,还是用Fastjson吧,虽然听说坑很多. ...
- Xamarin.Android 解决打开软键盘导致底部菜单上移问题
在界面布局中有EditText控件,该控件一旦获取焦点则打开软键盘,如果布局中有底部菜单,那么底部菜单可能会被软键盘顶在其上面,看如下效果: 解决方法:在活动绑定界面之前写上下段代码即可 Window ...