实现效果
1)本辅助类主要是用来方便实现QQ密码加密操作。
2)在QQ的很多模拟网页采集数据,需要输入用户账号、密码,其中密码是需要进行加密操作的,一般使用js脚本实现,这里把它转化为C#的代码操作,其实也就是把密码和验证码通过3次MD5加密实现的。
/// <summary>
/// QQ根据密码及验证码对数据进行加密
/// </summary>
/// <param name="password">原始密码</param>
/// <param name="verifyCode">验证码</param>
/// <returns></returns>
public static string EncodePasswordWithVerifyCode(string password, string verifyCode)
private bool CheckLogin()
{
HttpHelper httpHelper = new HttpHelper();
string refUrl = "http://ui.ptlogin2.qq.com/cgi-bin/login?appid=3000801&s_url=http%3A%2F%2Fqun.qq.com%2Fgod%2Fsucc.htm&f_url=loginerroralert&lang=2052&bgcolor=ffffff&style=1&low_login=1&link_target=blank&target=self&hide_title_bar=1&dummy=1";
string verifyCode = this.txtVerify.Text;
string postData = string.Format("u={0}&p={1}&verifycode={2}&aid=3000801&u1=http%3A%2F%2Fqun.qq.com%2Fgod%2Fsucc.htm&h=1&ptredirect=0&ptlang=2052&from_ui=1&dumy=&fp=loginerroralert",
this.txtUsername.Text, QQEncryptUtil.EncodePasswordWithVerifyCode(this.txtPassword.Text, verifyCode), verifyCode);
string result = httpHelper.GetHtml("http://ptlogin2.qq.com/login?" + postData, Portal.gc.cookieQun, refUrl);
string errorTxt = result;
bool isLogin = result.Contains("登录成功!");
return isLogin;
}
、、、、、