.版本 2
.支持库 spec
.程序集 weibo
.程序集变量 P_Cookies, 文本型, , , 私有身份信息
.程序集变量 P_Nick, 文本型, , , 私有用户名称
.程序集变量 P_Uid, 文本型, , , 私有账号标识
.程序集变量 P_St, 文本型, , , 私有动态身份信息
.子程序 Sign, 逻辑型, 公开, 新浪微博,免码登陆,登录成功返回真,登录失败返回假
.参数 Uin, 文本型, , 账号
.参数 Pwd, 文本型, , 密码
.参数 Cookies, 文本型, 参考 可空, 若是登录成功,则返回cookies
.局部变量 result, 文本型
.局部变量 cookies_, 文本型, , , 提交cookies
.局部变量 cookies__, 文本型, , , 返会cookies
.局部变量 json, 类_json
.局部变量 javaScript, 类_脚本组件
.局部变量 servertime, 文本型
.局部变量 nonce, 文本型
.局部变量 rsakv, 文本型
.局部变量 pubkey, 文本型
.局部变量 su, 文本型
.局部变量 pwd, 文本型
.局部变量 url, 文本型, , , 链接
.局部变量 data, 文本型, , , 提交数据
.局部变量 header, 文本型, , , 协议头
javaScript.执行 (#COUNT_JS加密)
su = javaScript.运行 (“getu”, Uin)
url = “https://login.sina.com.cn/sso/prelogin.php?entry=sso&callback=sinaSSOController.preloginCallBack&su=” + su + “&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.18)&_=” + 时间_取现行时间戳 ()
result = 编码_Utf8到Ansi (网页_访问_对象 (url))
json.解析 (文本_取出中间文本 (result, “ck(”, “)”))
servertime = json.取通用属性 (“servertime”)
nonce = json.取通用属性 (“nonce”)
pubkey = json.取通用属性 (“pubkey”)
rsakv = json.取通用属性 (“rsakv”)
pwd = javaScript.运行 (“getp”, servertime, nonce, rsakv, pubkey, Pwd)
url = “https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.19)&_=” + 时间_取现行时间戳 ()
data = “entry=sso&gateway=1&from=&savestate=30&qrcode_flag=false&useticket=0&pagerefer=&vsnf=1&su=” + 编码_URL编码 (su, 真, 真) + “&service=sso&servertime=” + servertime + “&nonce=” + nonce + “&pwencode=rsa2&rsakv=” + rsakv + “&sp=” + pwd + “&sr=1920*1080&encoding=UTF-8&cdult=3&domain=sina.com.cn&prelt=48&returntype=TEXT”
连续赋值 (“”, header, Cookies, cookies_, cookies__)
header = “Referer: //zj.sina.com.cn/” + #换行符
header = header + “Accept-Language: zh-cn” + #换行符
header = header + “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0”
result = 编码_Utf8到Ansi (网页_访问_对象 (url, 1, data, , cookies_, header)) ' 提交登录包
json.清除 ()
调试输出 (编码_usc2到ansi (result))
.如果 (取反 (json.解析 (result)))
' 登录失败
返回 (假)
.否则
' 登录成功
result = 文本_取出中间文本 (result, “crossDomainUrlList” + #引号 + “:[” + #引号, #引号)
.如果真 (result ≠ “”)
' 解析跳转链接成功
url = 文本_替换 (result, , , , “\”, “”)
.如果真 (url ≠ “”)
' 获取跳转链接失败
网页_访问_对象 (url, , , cookies_, cookies__)
cookies_ = 网页_Cookie合并更新 (cookies_, cookies__)
' 调试输出 (“登录成功信息:”, json.取数据文本 ())
P_Nick = json.取通用属性 (“nick”)
url = “https://login.sina.com.cn/sso/login.php?url=https%3A%2F%2Fweibo.cn%2F&_rand=1551168974.2524&gateway=1&service=sinawap&entry=sinawap&useticket=1&returntype=META&sudaref=&_client_version=0.6.26”
result = 网页_访问S (url, , , cookies_, cookies__)
url = 文本_取出中间文本 (result, “location.replace(” + #引号, #引号)
.如果真 (url ≠ “”)
cookies_ = 网页_Cookie合并更新 (cookies_, cookies__) ' cookies 更新
网页_访问_对象 (url, , , cookies_, cookies__, , result, , 真)
cookies_ = 网页_Cookie合并更新 (cookies_, cookies__) ' cookies 更新
连续赋值 (“”, header)
header = “Accept-Language: zh-cn” + #换行符
header = header + “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0”
url = “https://weibo.cn/”
result = 编码_Utf8到Ansi (网页_访问_对象 (url, , , cookies_, , header)) ' 进入微博网页获取登录成功后的数据!
' 调试输出 (“退出地址:”, 子文本替换 (文本_取出中间文本 (result, “举报</a>.<a href=” + #引号, #引号 + “>退出</a><”, 1, 假), “amp;”, “”, 1, , 假)) ' 获取登录成功后的退出地址!
url = “https://m.weibo.cn/”
result = 编码_Utf8到Ansi (网页_访问_对象 (url, , , cookies_, cookies__, header))
cookies_ = 网页_Cookie合并更新 (cookies_, cookies__) ' cookies 更新
P_Cookies = cookies_
.如果真 (取反 (是否为空 (Cookies)))
Cookies = cookies_
.如果真结束
返回 (真)
.如果真结束
.如果真结束
.如果真结束
.如果结束
返回 (假)
微博登录源码