目测你忽略了免验证码时verifycode参数的值。有验证码时,verifycode的值就是验证码;无验证码时,是一个以!开头,外加三个字母的四位字符串。具体的,在登录之前,需要GET访问http://check.ptlogin2.qq.com/check?uin=" + qqnum + "&appid=3000801&r=0.3101203359912048,并取得其返回的cookie(登录时需要)若返回ptui_checkVC('0','!BHO','\x00\x00\x00\x00\x26\xb2\x2b\xb9');那么verifycode就是!BHO如果是ptui_checkVC('1','pTuCoy-CTOUNgcSe_nJavLAitmt3jnYS','\x00\x00\x00\x00\x41\x63\x1b\xa7');那么就需要输入验证码了

解决方案 »

  1.   

    我那个code就是获取的验证码的值呀。
    免输验证码时的值提交了还是无法登陆, 老是提示:ptuiCB('7','0','','0','很遗憾,网络连接出现异常
      

  2.   

    这个问题有两点可能,第一就是Cookie的问题,第二就是登录频繁,封IP。Cookie的可能性比较大
      

  3.   

    做了N次 模拟登陆 登陆都没有成功 我估计 你做成功了QQ服务器也会感觉不对劲
    最后让你输入验证码
      

  4.   

    如果不需要验证就可以登录的需要在cookie中带上ptvfsession,如果是有验证码的就要在cookie中带上验证码的 verifysession,verifysession是获取验证码时返回的.
      

  5.   

    第一点:Cookie问题,我提交时附带了cookie的,其他需要登陆的网站,我就附带Cookie登录过。
    关于第二点,封IP应该不存在,因为下了一个这种类型的软件,那软件可以正常登陆。
      

  6.   

    大哥,加我QQ啊,我郁闷了,核对了QQ的JS感觉没啥问题啊。你那边可以发份代码到我QQ邮箱不,万分感谢啊。[email protected]
      

  7.   

    在验证码添加vc_type的值就行了。
      

  8.   

    正式登录之前,将cookie的域信息去掉。
    cookie = FormatCookie(cookie);
            public static string FormatCookie(string cookie)
            {
                string tmpcookie = string.Empty;
                foreach (string strtemp in Regex.Split(cookie, ","))
                {
                    Match match = Regex.Match(strtemp, @"^\w[^=]+=[^;]+");
                    if (match.Success)
                    {
                        tmpcookie = tmpcookie + match.Value + ";";
                    }
                }
                return tmpcookie;
            }
      

  9.   

    其实挺简单。QQ空间QQ微博和“id.qq.com"的登录我都成功了,看博客http://blog.csdn.net/lai444132348
      

  10.   

    最近一直在搞腾讯的各种登录,上面说道的都可以用Get方法登录,有些则没办法用Get方法登录,比如腾讯微博应用授权页面的登录过程就被加密了,你抓包都抓不到,get包都被TLS加密传输了,哎而且腾讯基本不支持post登录方法。。这两天试QQ邮箱,好像也没办法用Get方法登录
      

  11.   

    请问下大哥,我获取验证码时响应字符串为 ptui_checkVC('1','pTuCoy-CTOUNgcSe_nJavLAitmt3jnYS','\x00\x00\x00\x00\x41\x63\x1b\xa7');我在怎么找那个verifysession呢,还有如何在cookie中带上verifysession呢?
    小弟先行谢过了,还望大哥不吝赐教啊,,,
      

  12.   

    麻烦问下楼主大哥,我在做这个时,每次请求验证码时都返回 ptui_checkVC('1','pTuCoy-CTOUNgcSe_nJavLAitmt3jnYS','\x00\x00\x00\x00\x41\x63\x1b\xa7'); 这种格式,在请求http://ptlogin2.qq.com/login?ptlang=2052&u=" + uin + "&p=" + pass + "&verifycode=" + checkNum[1]+ "&aid=46000101&u1=http%3A%2F%2Ft.qq.com&ptredirect=1&h=1&from_ui=1&dumy=&fp=loginerroralert&action=4-12-14683&g=1&t=1&dummy= 
    时,总是返回ptuiCB('7','0','','0','很遗憾,网络连接出现异常,请您稍后再试。(3409969652)','0'),想问下你是怎么处理的呢,还望大哥不吝赐教啊,,,