xchaoinfo / fuck-login

模拟登录一些知名的网站,为了方便爬取需要登录的网站
5.86k stars 2.02k forks source link

关于微博二维码登录,有一些问题想向您请教下? #46

Open ljsun opened 7 years ago

ljsun commented 7 years ago

您好,我是一名学生,编程经验很少,所以有些问题想向您请教下? 1:在您的程序中,手机扫完码以及确认后,会有http://login.sina.com.cn/sso/qrcode/check?entry=weibo&qrid=...&callback=...的http请求,在获得alt的内容后,也会有http://login.sina.com.cm/sso/login.php?......的请求,可是我用chrome扫码登录了好多次,在chrome自带的network中也没有找到上面的请求,想问下您是怎么找到的? 2:我在执行程序时,遇到了这样的错误:[WinError 10061] 由于目标计算机积极拒绝,无法连接。', 请问这样该如何解决? 恳请您能回答这些问题!

fcfangcc commented 7 years ago

@ljsun 问题一可能是你没有勾选Preserve log(就在network页面)选项,因为扫码登陆后页面会刷新。如果不保留历史就会刷新掉只显示当前页面的network。 问题二没遇到过……能说下什么环境不

ljsun commented 7 years ago

关于第二个问题,我发现它有时会自己出现,有时就没有了,今天中午我扫了7、8次后登陆成功了,然后下午又出现了,试了几次又好了

ljsun commented 7 years ago

@fcfangcc 关于第二个问题,我发现它有时会自己出现,有时就没有了,今天中午我扫了7、8次后登陆成功了,然后下午又出现了,试了几次又好了

ljsun commented 7 years ago

@fcfangcc @xchaoinfo 您们好,关于微博二维码登录的问题,我还有几个问题想要请教下您们

  1. 在is_login()函数中,在my_page = session.get(url,headers=headers)这句后面, 我输出了my_page.content,得到的结果如下:(这些只是很少一部分) var need_restore = "1" == "1"; // 是否走恢复身份流程。

       // 如果需要走恢复身份流程,尝试从 cookie 获取用户身份。
       if (!need_restore || !Store.CookieHelper.get("SRF")) {
    
           // 若获取失败走创建访客流程。
           // 流程执行时间过长(超过 3s),则认为出错。
           var error_timeout = window.setTimeout("error_back()", 3000);
    
           tid.get(function (tid, where, confidence) {
               // 取指纹顺利完成,清除出错 timeout 。
               window.clearTimeout(error_timeout);
               incarnate(tid, where, confidence);
           });
       } else {
           // 用户身份存在,尝试恢复用户身份。
           restore();

    我认为这样的输出说明其实并没有登录成功 2 这个if语句返回的值也是False if "我的首页" in my_page: return True else: return False 综合1、2两点,我认为我并没有登录成功,我怀疑是新浪二维码登录的机制或者一些URL发生了变化,本想自己分析下,可是自己扫码登录了一下午了,也没怎么看懂它的登录机制。 恳请两位能够帮忙解答下!

ljsun commented 7 years ago

@fcfangcc @zeekvfu 您好,我在昨天提出的问题已经解决了,"http://login.sina.com.cn/sso/qrcode/check”,是我把这个网址写错了,.cn写成了.cm。 自勉:写程序一定要细心!!!