嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 8 元微信扫码支付:8 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
public QQHelper() { }
private readonly FileHelper file = new FileHelper();
/// <summary>
/// 登录QQ
/// </summary>
/// <param name="username"></param>
/// <param name="userpwd"></param>
/// <param name="groupcode"></param>
public bool Login(HttpContext c, string username, string userpwd, string code, out string Msg, out int Status)
{
Msg = string.Empty;
Status = 0;
string html = string.Empty;
Random rand = new Random();
string path = c.Server.MapPath("~\\file\\cook.txt");
sendCookies = file.ReaderCookies(sendCookies, path);
if (code.Contains("!"))
{// 不需要验证码
List<Cookie> list = file.GetAllCookies(sendCookies);
Referer = Url;
string pt_verifysession_v1 = string.Empty;
foreach (Cookie item in list)
{
if (item.Name == "ptvfsession")
pt_verifysession_v1 = item.Value;
}
//userpwd = GetPassword(username, userpwd, code); //以前的QQ加密方式
Url = string.Format("http://ptlogin2.qq.com/login?u={0}&verifycode={1}&pt_vcode_v1=0&pt_verifysession_v1={2}&p={3}&pt_randsalt=0&ptredirect=1&u1=http%3A%2F%2Fqun.qq.com%2Findex.html&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=1-16-1426730359779&js_ver=10116&js_type=1&login_sig=mOkiOcWZ2k6M2-BLoS8tGut0YbSAJNyfd04Yp8MFccDxzsruKndSPGX8XEjBSnIw&pt_uistyle=20&aid=715030901&daid=73&", username, code, pt_verifysession_v1, userpwd);
html = GetHtmlString(sendCookies, out outCookies);
if (html.Contains("ptuiCB('0',"))
{
file.WriteCookies(outCookies, path);
Status = 0;
Msg = "登录成功!";
return true;
}
else if (html.Contains("ptuiCB('1',"))
{
Status = -1;
Msg = "登录失败,请稍后再试...";
return false;
}
else if (html.Contains("ptuiCB('3',"))
{
Status = -1;
Msg = "登录失败,账号或密码错误...";
return false;
}
else if (html.Contains("ptuiCB('4',"))
{
Status = -1;
Msg = "登录失败,验证码输入错误...";
return false;
}
else if (html.Contains("ptuiCB('7',"))
{
Status = -1;
Msg = "登录失败,参数提交错误...";
return false;
}
else if (html.Contains("ptuiCB('71',"))
{
Status = -1;
Msg = "账号异常,禁止登录...";
return false;
}
}
else
{// 手动输入验证码登录
List<Cookie> list = file.GetAllCookies(sendCookies);
string pt_verifysession_v1 = string.Empty;
foreach (Cookie item in list)
{
if (item.Name == "verifysession")
pt_verifysession_v1 = item.Value;
}
//userpwd = GetPassword(username, userpwd, code); //以前的QQ加密方式
Url = string.Format("http://ptlogin2.qq.com/login?u={0}&p={1}&verifycode={2}&aid=715030901&u1=http%3A%2F%2Fqun.qq.com%2F&h=1&ptredirect=1&ptlang=2052&daid=73&from_ui=1&dumy=&low_login_enable=0®master=&fp=loginerroralert&action=0-10-1407488171734&mibao_css=&t=1&g=1&js_ver=10088&js_type=1&login_sig=SYFM9j-vUxL0oNYAwYU0sQUWOQ94B3WlJppK82Safih3S9VS0qRd0l4oAg73ovAV&pt_uistyle=17&pt_rsa=0&pt_vcode_v1=0&pt_verifysession_v1={3}", username, userpwd, code, pt_verifysession_v1);
html = GetHtmlString(sendCookies, out outCookies);
if (html.Contains("ptuiCB('0',"))
{
file.WriteCookies(outCookies, path);
Status = 0;
Msg = "登录成功...";
return true;
}
else if (html.Contains("ptuiCB('1',"))
{
Status = -1;
Msg = "登录失败,请稍后再试...";
return false;
}
else if (html.Contains("ptuiCB('3',"))
{
Status = -1;
Msg = "登录失败,账号或密码错误...";
return false;
}
else if (html.Contains("ptuiCB('4',"))
{
Status = -1;
Msg = "登录失败,验证码输入错误...";
return false;
}
else if (html.Contains("ptuiCB('7',"))
{
Status = -1;
Msg = "登录失败,参数提交错误...";
return false;
}
else if (html.Contains("ptuiCB('71',"))
{
Status = -1;
Msg = "账号异常,禁止登录...";
return false;
}
}
return false;
}
/// <summary>
/// 获取群内所有成员
/// </summary>
/// <returns></returns>
public List<sys_user> GetAllUsers(HttpContext c, out string Msg, out int Status)
{
Msg = string.Empty;
Status = -1;
string groupcode = c.Request["groupcode"];
List<sys_user> list = new List<sys_user>();
string path = c.Server.MapPath("~\\file\\cook.txt");
sendCookies = file.ReaderCookies(sendCookies, path);
var list1 = file.GetAllCookies(sendCookies);
string gtk = GetGTK(list1).ToString();
Url = "http://qun.qq.com/cgi-bin/qun_mgr/search_group_members";
string val = string.Format("gc={0}&st=0&end=19&sort=0&bkn={1}", groupcode, gtk);
string html = POSTHtmlString(val, sendCookies, out outCookies);
QQEntity entity = GetMemberList(html);// 反序列化JSON字符串为JSON对象
int num = entity.count;
Url = "http://qun.qq.com/cgi-bin/qun_mgr/search_group_members";
val = string.Format("gc={0}&st=0&end={1}&sort=0&bkn={2}", groupcode, num, gtk);
html = POSTHtmlString(val, sendCookies, out outCookies);
entity = GetMemberList(html);// 反序列化JSON字符串为JSON对象
foreach (memsData item in entity.mems)
{
sys_user u = new sys_user();
u.Userrank = GetRankName(entity.levelname, item.lv);
u.Qqage = string.Format("{0}年", item.qage);
u.Qq = item.uin.ToString();
u.Nickname = item.nick.Trim().Replace(" ", "");
u.Jointime = item.join_time;
u.Finalytalktime = item.last_speak_time;
u.Createtime = new SQLHelper().ConvertDateTimeString(DateTime.Now);
u.Groupname = item.card.Trim();
list.Add(u);
}
return list;
}