private List<Dictionary<string, dynamic>> webwxgetcontact()
{
var url = base_url + String.Format("webwxgetcontact?pass_ticket={0}&skey={1}&r={2}", pass_ticket, skey, get_timestamp());
var http = WebRequest.Create(url) as HttpWebRequest;
#if (DEBUG)
Uri target = new Uri("https://wx.qq.com");
cookieContainer.Add(new Cookie("mm_lang", "zh_CN") { Domain = target.Host });
cookieContainer.Add(new Cookie("webwx_data_ticket", "AQcsqhDcQuYzt1F1QvsvBV9W") { Domain = target.Host });
cookieContainer.Add(new Cookie("wxuin", "2622149902") { Domain = target.Host });
cookieContainer.Add(new Cookie("wxsid", "ZHu/WOz9i7GZXcFN") { Domain = target.Host });
cookieContainer.Add(new Cookie("wxloadtime", "1452642551") { Domain = target.Host });
cookieContainer.Add(new Cookie("webwxuvid", "20e90937e5f3173d94c75ee2c3805a26a0da27cb6eb2a7f692f9b26c09eb4a2d68ac2e5055bac129bc2e653ddc9b3312") { Domain = target.Host });
#endif
http.CookieContainer = cookieContainer;
http.ContentType = "application/json; charset=UTF-8";
http.Method = "GET";
var response = http.GetResponse() as HttpWebResponse;
var dic = deserilizeJson(response);
List<Dictionary<string, dynamic>> memberlist = new List<Dictionary<string, dynamic>>(dic["MemberList"].
ToArray(typeof(Dictionary<string, dynamic>)));
var special_users = new List<string>()
{
"newsapp",
"fmessage",
"filehelper",
"weibo",
"qqmail",
"tmessage",
"qmessage",
"qqsync",
"floatbottle",
"lbsapp", "shakeapp","medianote", "qqfriend", "readerapp",
"blogapp", "facebookapp","masssendapp", "meishiapp", "feedsapp", "voip", "blogappweixin","weixin",
"brandsessionholder", "weixinreminder","wxid_novlwrv3lqwv11", "gh_22b87fa7cb3c", "officialaccounts","notification_messages",
"wxitil", "userexperience_alarm"
};
for (int i = memberlist.Count - 1; i > -1; i--)
{
Dictionary<string, dynamic> member = memberlist[i];
if ((8 & Convert.ToInt32(member["VerifyFlag"])) != 0)
{
memberlist.Remove(member);
}
else if (special_users.Contains(member["UserName"]))
{
memberlist.Remove(member);
}
else if (member["UserName"].Contains("@@"))
{
memberlist.Remove(member);
}
else if (member["UserName"] == self["UserName"])
{
memberlist.Remove(member);
}
}
return memberlist;
}