新浪登录JS的例子,用于学习JS,post包里包含了几个参数,是网页返回的,JS加密里也调用了这几个参数
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 _按钮1_被单击
.局部变量 请求返回, 文本型
.局部变量 json, 类_json
.局部变量 pcid, 文本型
.局部变量 nonce, 文本型
.局部变量 pubkey, 文本型
.局部变量 rsakv, 文本型
.局部变量 登录结果, 文本型
.局部变量 DecryptJs, 文本型
.局部变量 servertime, 文本型
.局部变量 密码, 文本型
请求返回 = 到文本 (网页_访问 (“https://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=” + 编码_BASE64编码 (到字节集 (编辑框1.内容)) + “&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.19)&_=” + 时间_取现行时间戳 (), , , , , , , , , , , , ))
调试输出 (请求返回)
json.解析 (文本_取右边 (请求返回, “sinaSSOController.preloginCallBack”, , ), )
nonce = json.取通用属性 (“nonce”, )
pubkey = json.取通用属性 (“pubkey”, )
rsakv = json.取通用属性 (“rsakv”, )
servertime = json.取通用属性 (“servertime”, )
密码 = JS_getPwd (pubkey, servertime, nonce, 编辑框2.内容)
登录结果 = 到文本 (网页_访问 (“https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.19)&_=” + 时间_取现行时间戳 (), 1, “entry=weibo&gateway=1&from=&savestate=7&qrcode_flag=false&useticket=1&pagerefer=https%3A%2F%2Fweibo.com%2F&vsnf=1&su=” + 编码_BASE64编码 (到字节集 (编辑框1.内容)) + “&service=miniblog&servertime=1611806920&nonce=” + nonce + “&pwencode=rsa2&rsakv=” + rsakv + “&sp=” + 密码 + “&sr=1920*1080&encoding=UTF-8&cdult=2&domain=weibo.com&prelt=290&returntype=TEXT”, , , , , , , , , , ))
调试输出 (编码_usc2到ansi (登录结果))
.子程序 JS_getPwd, 文本型, 公开
.参数 Pubkey, 文本型
.参数 servertime, 文本型
.参数 nonce, 文本型
.参数 password, 文本型
.局部变量 Js, 对象
.局部变量 return, 文本型
' 线程_初始化COM库 () ' 线程中请初始化COM 否则会出错
Js.创建 (“ScriptControl”, )
Js.写属性 (“Language”, “JavaScript”)
Js.数值方法 (“AddCode”, #常量_Js) ' 请在常量_Js中放入调试成功的JS代码段
return = Js.通用方法 (“eval”, “getPwd” + “('” + Pubkey + “','” + servertime + “','” + nonce + “','” + password + “')”).取文本 ()
' 线程_取消COM库 ()
返回 (return)