最近在玩淘宝,弄了些小玩意,琢磨出了几种自动登录的方法,下面是两种我运行过两周没问题的版本。
login = function(){ wb.go("https://login.taobao.com/member/login.jhtml") wb.wait(""); wb.waitEle("TPL_username_1").value = "username" var cwnd = winex.findEx(winform.hwnd,2,"ATL\:Edit") winex.say2("pwd",cwnd) wb.queryEles( innerHTML="登录";tagName="BUTTON";className="J_Submit" ).click() wb.waitEle("J_Logout") }
优点:执行稳定
缺点:系统高负荷时winex.say2()可能会出错。消息队列无法及时处理
login2 = function(){ wb.post("https://login.taobao.com/member/login.jhtml", "TPL_username=" ++ username ++ "&TPL_password=" ++ password ++ "&longLogin=0&action=Authenticator&event_submit_do_login=anything&TPL_redirect_url="+formEncode("http://chongzhi.taobao.com/") + "&from=tbTop&fc=2&style=default&css_style=&tid=&support=000001&CtrlVersion="+formEncode("1,0,0,7") + "&loginType=4&minititle=&minipara=&umto="+formEncode("Tea187d1310acbb1b63ca18e6f2e6eab4,") + "&pstrong=&llnick=&sign=&need_sign=&isIgnore=&full_redirect=&popid=&callback=&guf=¬_duplite_str=&need_user_id=&poy=&gvfdcname=10&gvfdcre=687474703A2F2F63686F6E677A68692E74616F62616F2E636F6D2F&from_encoding=") wb.waitEle("J_Logout") } //用户名和密码用明文来写也可以post通过,无需加密
优点:登录最快
缺点:怕淘宝修改js
post版去掉了一些字段,经实验不影响登录。
token可以不用写,登录时候没验证?
还有tbcpCrumbs,不写入post字段也能通过。
悲剧的是,post方法刚弄出来没两天,淘宝就限制我的帐号了,现在登录要输入图片验证码。
昨天找到了新的方法绕过验证码,代码还在调试中。
有些比较怪的节点,网页内容会发生变化,用webspy生成的代码取不到。