哈哈.发现大家都在B站学习.分享一个易语言实现登陆B站的源码.也就是易语言POST.因为B站加密了.所以要用到Js解密哦.第一次解密
- .版本 2
- .程序集 窗口程序集_启动窗口
- .子程序 _按钮1_被单击
- 编辑框3.内容 = 登录 (编辑框1.内容, 编辑框2.内容)
- .子程序 __启动窗口_创建完毕
- V8.InitializeV8 ()
- .子程序 密码, 文本型
- .参数 pwd, 文本型
- .参数 key, 文本型
- .参数 hash, 文本型
- .局部变量 返回密码, 文本型
- 返回密码 = V8.ExecJavaScriptV8 (#JS, “test('” + pwd + “','” + key + “','” + hash + “')”, , )
- 返回密码 = 文本_替换 (返回密码, , , , “=”, “%3D”, “+”, “%2B”, “/”, “%2F”, , , , )
- 返回 (返回密码)
- .子程序 登录, 文本型
- .参数 账号, 文本型
- .参数 密码, 文本型
- .局部变量 str, 文本型
- .局部变量 hash, 文本型
- .局部变量 key, 文本型
- .局部变量 gt, 文本型
- .局部变量 challenge, 文本型
- .局部变量 提交key, 文本型
- .局部变量 滑块, 文本型
- .局部变量 challenge1, 文本型
- .局部变量 validate, 文本型
- .局部变量 data, 文本型
- .局部变量 cookie, 文本型
- '易语言学习吧分享www.eyy8.vip
- str = 到文本 (网页_访问_对象 (“https://passport.bilibili.com/login?act=getkey&r=0.” + 文本_取随机数字 (16, ), , , , , , , , , , , , , , , , , , ))
- hash = 文本_取出中间文本 (str, “hash” + #引号 + “:” + #引号, #引号, , )
- key = 文本_取出中间文本 (str, “-----BEGIN PUBLIC KEY-----\n”, “\n-----END P”, , )
- str = 到文本 (网页_访问_对象 (“https://passport.bilibili.com/web/captcha/combine?plat=6”, , , , , , , , , , , , , , , , , , ))
- gt = 文本_取出中间文本 (str, “gt” + #引号 + “:” + #引号, #引号, , )
- challenge = 文本_取出中间文本 (str, “challenge” + #引号 + “:” + #引号, #引号, , )
- 提交key = 文本_取出中间文本 (str, “key” + #引号 + “:” + #引号, #引号, , )
- ' -----我对接的滑块平台,自己找个平台可以对接登录
- data = “captchaType=6&username=” + 账号 + “&password=” + 密码 (密码, key, hash) + “&keep=true&key=” + 提交key + “&goUrl=https%3A%2F%2Fwww.bilibili.com%2F&challenge=” + challenge1 + “&validate=” + validate + “&seccode=” + validate + “%7Cjordan”
- str = 编码_URL解码 (到文本 (网页_访问_对象 (“https://passport.bilibili.com/web/login/v2”, 1, data, , cookie, , , , , , , , , , , , , , )), 真)
- 返回 (str)
复制代码 源码下载:
|