.版本 2
.支持库 spec
.支持库 e2ee
.程序集 窗口程序集_启动窗口
.程序集变量 http, WinHttpW
.程序集变量 浏览器UA, 文本型
.程序集变量 返回cookies, 文本型
.程序集变量 paras, 文本型
.程序集变量 paramId, 文本型
.程序集变量 captchaToken, 文本型, , , ' 本源码来自三叶资源网(www.sanye.cx)
.程序集变量 REQID, 文本型
.程序集变量 returnUrl, 文本型
.程序集变量 lt, 文本型
.程序集变量 GUID, 文本型
.程序集变量 Cookies, 文本型
.子程序 __启动窗口_创建完毕
浏览器UA = “User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36”
http.Auto ()
http.AutoCookies (真)
调试输出 (功能_网页访问 ())
.如果真 (取反 (文件是否存在 (取运行目录 () + “gzip.dll”)))
GZIP_模块释放 (0)
.如果真结束
' 获取验证码 ()
.子程序 获取JSESSIONID
http.Open (, “https://cloud.189.cn/”)
http.SetReferer (“https://cloud.189.cn/”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4331.0 Safari/537.36”)
http.Send ()
.子程序 获取paras
.局部变量 分割, 文本型
http.Open (, “https://cloud.189.cn/udb/udb_login.jsp?pageId=1&redirectURL=/main.action”)
http.SetReferer (“https://cloud.189.cn/”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4331.0 Safari/537.36”)
http.Send ()
分割 = http.GetResponseTextU2A ()
paras = 文本_取中间 (分割, “href=” + #引号, #引号 + “>here”, , , , )
' 调试输出 (paras)
.子程序 _登录_被单击
.局部变量 账号, 文本型
.局部变量 密码, 文本型
.局部变量 返回值, 文本型
.局部变量 ju_xinxi, 文本型
.局部变量 ju_ua, 文本型
.局部变量 ret, zyJsonValue
.局部变量 result, 文本型
.局部变量 msg, 文本型
.局部变量 toUrl, 文本型
账号 = encrypt (编辑框_用户名.内容)
密码 = encrypt (编辑框_密码.内容)
ju_xinxi = “appKey=cloud&accountType=01&userName=” + URL编码 (账号, ) + “&password=” + URL编码 (密码, ) + “&validateCode=” + 编辑框3.内容 + “&captchaToken=” + captchaToken + “&returnUrl=” + returnUrl + “&mailSuffix=%40189.cn&dynamicCheck=FALSE&clientType=10010&cb_SaveName=0&isOauth2=false&state=¶mId=” + paramId
ju_ua = “Host: open.e.189.cn” + #换行符 + “lt:” + lt + #换行符 + “Origin: https://open.e.189.cn” + #换行符 + “Referer:” + paras + #换行符 + “REQID:” + REQID + #换行符 + 浏览器UA
http.Open (“POST”, “https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do”)
http.SetRequestHeaders (ju_ua, )
http.Send (ju_xinxi)
ret.解析 (http.GetResponseTextU2A (), , , )
result = ret.取文本 (“result”)
msg = ret.取文本 (“msg”)
toUrl = ret.取文本 (“toUrl”)
调试输出 (toUrl)
.如果真 (result ≠ “0”)
信息框 (msg, 0, , )
返回 ()
.如果真结束
信息框 (msg, 0, , )
http.Open (, toUrl)
http.SetRequestHeaders (#取cookie协议头_1 + paras, )
' http.CookieUpH ()
http.Send ()
' // 这里返回的协议头按理来说是有个set cookie COOKIE_LOGIN_USER 的
' // 但死活获取不到
调试输出 (http.GetAllResponseHeaders ())
Cookies = http.Cookies ()
调试输出 (Cookies)
.子程序 encrypt, 文本型
.参数 pwd, 文本型
.局部变量 Js, 对象
.局部变量 return, 文本型
' 线程_初始化COM库 () ' 线程中请初始化COM 否则会出错
Js.创建 (“ScriptControl”, )
Js.写属性 (“Language”, “JavaScript”)
Js.数值方法 (“AddCode”, #常量1) ' 请在常量_Js中放入调试成功的JS代码段
return = Js.通用方法 (“eval”, “getpwd” + “('” + pwd + “')”).取文本 ()
' 线程_取消COM库 ()
返回 (return)
.子程序 _图片框_验证码_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
获取验证码 ()
.子程序 获取验证码
.局部变量 验证码地址, 文本型
.局部变量 前置, 文本型
.判断开始 (paras = “”)
获取JSESSIONID ()
获取paras ()
.默认
.判断结束
http.Open (, paras)
http.Send ()
前置 = http.GetResponseText ()
验证码地址 = 文本_取中间 (前置, “document.getElementById('cimg_sms').src='”, “'+new Date().getTime()”, , , , )
paramId = 文本_取中间 (前置, “paramId = ” + #引号, #引号 + “;”, , , , )
captchaToken = 文本_取中间 (前置, “captchaToken'” + “ value='”, “'>”, , , , )
REQID = 文本_取中间 (前置, “reqId = ” + #引号, #引号 + “;”, , , , )
returnUrl = 文本_取中间 (前置, “returnUrl =” + “ '”, “'” + “, ”, , , , )
lt = 文本_取中间 (前置, “lt = ” + #引号, #引号 + “;”, , , , )
GUID = 文本_取中间 (前置, “guid = ” + #引号, #引号 + “;”, , , , )
http.Open (, “https://open.e.189.cn” + 验证码地址 + GetTime (, ))
http.Send ()
图片框_验证码.图片 = http.GetResponseBody ()
Cookies = http.Cookies ()
.子程序 _解析_被单击
.局部变量 局_返回文本, 文本型
.局部变量 shareId, 文本型
.局部变量 fileId, 文本型
http.Open (, _分享链接.内容)
http.SetRequestHeaders (#协议头1, )
http.Send ()
局_返回文本 = U2A (GZIP_解压 (http.GetResponseBody ()), )
' 调试输出 (局_返回文本)
' // shareId" value="
shareId = 文本_取中间 (局_返回文本, “shareId” + #引号 + “ value=” + #引号, #引号, , , , )
' // fileId = "
fileId = 文本_取中间 (局_返回文本, “fileId = ” + #引号, #引号, , , , )
' “https://cloud.189.cn/v2/getFileDownloadUrl.action?shareId=” + shareId_ + “&fileId=” + fileId + “&noCache=” + 时间_取随机时间戳 ()
调试输出 (shareId, fileId, 时间_取随机时间戳 ())
' 调试输出 (编码_Utf8到Ansi (网页_访问_对象 (“https://cloud.189.cn/v2/getFileDownloadUrl.action?shareId=” + shareId + “&fileId=” + fileId + “&noCache=” + 时间_取随机时间戳 (), , , http.Cookies (), , #常量2, , , 真, , , , , , , , )))
http.Open (, “https://cloud.189.cn/v2/getFileDownloadUrl.action?shareId=” + shareId + “&fileId=” + fileId + “&noCache=” + 时间_取随机时间戳 ())
' http.SetReferer (_分享链接.内容)
http.SetRequestHeaders (子文本替换 (#常量2, “分享链接”, _分享链接.内容, , , 真), )
调试输出 (http.Cookies ())
http.CookieUp (“offline_Pic_Showed=true; edrive_view_mode=icon; ”)
http.SetCookie ()
http.Send ()
' http.GetResponseBody ()
http.GetStatus ()
局_返回文本 = U2A (GZIP_解压 (http.GetResponseBody ()), )
程序_延时 (5, 1)
调试输出 (http.GetAllResponseHeaders ())
程序_延时 (5, 1)
调试输出 (局_返回文本)
.子程序 功能_网页访问, 文本型, , 本命令由【精易网页调试助手】生成,请配合精易模块使用。
.局部变量 局_网址, 文本型
.局部变量 局_方式, 整数型
.局部变量 局_提交cookie, 文本型
.局部变量 ADD_协议头, 类_POST数据类
.局部变量 局_提交协议头, 文本型
.局部变量 局_是否重定向, 逻辑型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型
' https://cloud.189.cn/v2/getFileDownloadUrl.action?shareId=170776143&fileId=2149822198063718&noCache=0.5902486287736735
局_网址 = “https://cloud.189.cn/v2/getFileDownloadUrl.action?shareId=170776143&fileId=2149822198063718&noCache=0.5902486287736735”
局_方式 = 0
局_提交cookie = “offline_Pic_Showed=true; edrive_view_mode=icon; JSESSIONID=aaa6y7wDFhW0OgLuP2xzx; COOKIE_LOGIN_USER=B6F0EF72FFCD45D85465ABF7F7E713ADF7A887C1C3C0A6494C59BF1CABA14E0BDB69E23A561EE531708B0CFF905C9391DF09F491F6E7C276F4DF105C”
ADD_协议头.添加 (“Accept”, “*/*”, )
' ADD_协议头.添加 ("X-Request-ID","142577de61a940b1a1795cadb0a0785b")
ADD_协议头.添加 (“X-Requested-With”, “XMLHttpRequest”, )
ADD_协议头.添加 (“Referer”, “https://cloud.189.cn/t/ZV7vqyjy2aue”, )
ADD_协议头.添加 (“Accept-Language”, “zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3”, )
ADD_协议头.添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko”, )
ADD_协议头.添加 (“Host”, “cloud.189.cn”, )
ADD_协议头.添加 (“Connection”, “Keep-Alive”, )
ADD_协议头.添加 (“Cache-Control”, “no-cache”, )
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_是否重定向 = 真
局_结果 = 网页_访问 (局_网址, 局_方式, , 局_提交cookie, , 局_提交协议头, , 局_是否重定向, , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果, , , ))
返回 (局_返回)