但是返回给我的结果里面并没有要求输入验证码或者密码错误=我这几天学python一直在试 csdn的模拟登录 没成功返回404

解决方案 »

  1.   

    用webdriver吧,模拟浏览器操作,应该是没问题的。
      

  2.   

    没有什么网页操作是不能模拟的,浏览器能做的事情自己写程序也能做。装个HTTP包分析工具,如 Http Analyzer,Http Watch,先在浏览器里面登录淘宝,然后分析Http交互过程和数据,只要你的程序传过去的Http数据包是一样的,那肯定就没问题。
      

  3.   


    要这么容易模拟登陆,安全性何处可言?我觉得不会很容易的。
      又一个下午 。 我去测试下用webdriver
      

  4.   

    我之前做过新浪微博的模拟登陆,是在网上找到的一篇文章,代码长度至少是你这个的两倍以上。我觉得淘宝这种直接涉及钱的登陆会更加复杂。
    简单说一下新浪微博的登陆吧。
    新浪微博密码应该是运用的应该是RSA加密方式。它连你的用户名都加密了,不过是分别加密的,用户名应该只是用MD5之类的算法简单处理一下。用户名加密一次,以后都是这个不会变了。而密码,你每次登陆时密文都是不一样的。加密后的密文不记得是128位还是256位,总之非常长。而且新浪微博的密码加密是用了服务器时间和随机字符串加密码混合加密的,因为随机值和服务器时间一直在变,所以每次加密后的值都是不一样的。为什么这么说:你去在电脑上登陆一下你的微博试试。当然,你需要用Chrome浏览器,火狐浏览器,或者可以带调试功能的浏览器。在你的微博登陆页面按F12键打开调试窗口,找到NetWork这个标签栏。然后输入你的微博用户名,将光标移开用户名输入框,你就会看到NetWork像后台发送了一个信息,然后又返回了一些信息,返回的这些信息里面就包含了server time和一个随机干扰值。当然,你还可以做一个实验,如果你的微博时本地Ip经常登录的,那没有问题。如果是异地登录,你输入用户名后,是要你输入验证码的,如果你没有设置。比如你经常在北京登录你的微博,然后你去了上海,你登录你的微博,输入用户名,光标移开后就会提示要你输入验证码的,你可以找你非本地的朋友用它的微博用户名试试就知道了。 
    所以我们在做模拟登陆时,首先要先做一个request,从服务器取回servertime 和干扰值,再来加密。加密后再重新登录。
    这是新浪微博的登陆方式,它的加密应该是在浏览器这端有控件加密的。关于淘宝,我想不会比这个简单,而且你登陆淘宝时,你的输入光标在密码框中时有的浏览器你按Tab键都是移不出来的。
    你没有加密就去登陆,肯定是不会成功的。个人意见,仅供参考
      

  5.   

    现在获取到token值了。 。 还在尝试。
      

  6.   

    Hi 哥们,研究的咋样了?我最近也正在研究这个问题,一起讨论讨论啊  qq178166127
      

  7.   

    hi,lz模拟成功了吗,能否分享一下心得?