Python爬虫中遇到安全输入控件如何破解?
登陆表单里面的密码框是一个控件, 支持 Windows/Mac OS,
但是该控件在加密登陆密码时有两个输入参数,一个是登陆时输入的密码,另外一个是每次都变化的从服务器取到的一个字符串( JS 取得), 所以这样生成的 POST 到服务器的加密密码每次都不一样,所以我想复用加密后的密码不可行。
控件大致伪代码如下:
timestamp = get_current_timestamp()
key = send_timestamp_to_server( timestamp)
edit.setkey(key)
newpassword = edit.get_encoded_text(realpassword)
postdata…
我尝试成功登陆,然后拷贝 cookie 到程序中是可行的, 但是感觉这方法太 weird,并且,我的主程序跑在 Linux 下,这样每次都要从 Windows 下去登陆拷贝 cookie,感觉很奇怪。
1. 有什么更好的办法吗?
2. 如果拷贝 cookie 的方法给 python requests 调用, 必须每隔一段时间去 post/get 一些数据保持长连接? 如果不发送数据,这个连接能保持多久?
Python爬虫中遇到安全输入控件如何破解?
我无法理解你的问题。
先发请求过去请求这个 key 呗,或者直接采用 webdriver
支付宝登陆也是有自定义控件,试试 selenium 把
1. 加密算法在控件里面,我看不到
2. 好在我会每隔几秒去取点信息,麻烦的是我还要每次去开一台 Windows 电脑
3. 券商的 web 登陆页面
key 我可以请求到, 但是通过 key 如何去加密输入的 password 这部分是在 editor 控件完成的,我是看不到代码的。。。
恩,那和我手动去拷贝 cookie 差别不是太大,而且,我的程序跑在 linux 下, 控件不支持 Linux,
直接像浏览器那样调用这个控件不就行了
应该是类似 rsa 的非对称加密吧,不太好搞的样子
服务器端有个证书,包含私钥和公钥,客户端每次会用公钥加密密码,服务器端用私钥解密,如果没有私钥即使有加密算法也不够
跪了吧,人家专门防爬虫,
恩, 刚才看了做完的测试代码,还在保持连接中没有被踢出, 所以就干脆拷贝 cookie 好了。
NPAPI???
先在 Chrome 装个 UA Switcher,看有没有 UA 能直接绕过这个控件
javascript 的 automation。
或者导出插件 dll,不需要破解,反正你也是用它里面的函数,在 windows 完成验证之后,返回 cookie
非要桌面么 看看 移动端登录什么的
怎么不够? lz 的爬虫也用公钥加密就行了。
尝试反编译这个控件试试…如果是公私钥,找到那个密钥应该就可以了
把 js 下载下来,直接本地执行…管它怎么加密的呢
可不可以这样,Windows 下写个脚本定期用 webdriver 模拟登陆获得 cookie,再同步给 Linux。
装个 node js ,改成接口.
我之前是用 autoit 搞定支付宝插件的~
对的,我当成抓包获取明文密码的需求了,是我搞错了。。晕了


