.版本 2 .支持库 spec .程序集 斗鱼登录EX .子程序 登录加密, 文本型, 公开 .参数 参_str, 文本型 .局部变量 value, 文本型 .局部变量 v8, , , , ??? () ' value = ??? () ' 返回 (value) .子程序 slide1, 逻辑型, , 注册滑块 .参数 geetest_challenge, 文本型, 参考 .参数 geetest_validate, 文本型, 参考 .参数 code_token, 文本型, 参考 .局部变量 httpR, WinHttpR .局部变量 局_代理IP, 文本型 .局部变量 retult, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 type, 文本型 .计次循环首 (10, ) .如果真 (工作中 = 假) 返回 (假) .如果真结束 局_代理IP = GetIP () retult = diaoyong (局_代理IP) ' 调试输出 (“注册滑块--> ”, retult) zyjson.解析 (retult) geetest_challenge = zyjson.取文本 (“geetest_challenge”) geetest_validate = zyjson.取文本 (“geetest_validate”) code_token = zyjson.取文本 (“token”) ' type = zyjson.取文本 (“type”) .如果真 (geetest_challenge ≠ “” 且 geetest_validate ≠ “” 且 code_token ≠ “”) 返回 (真) .如果真结束 .计次循环尾 () 返回 (假) .子程序 slide2, 逻辑型, , 登录滑块 .参数 返回challenge, 文本型, 参考 .参数 返回validate, 文本型, 参考 .参数 返回token, 文本型, 参考 .局部变量 httpR, WinHttpR .局部变量 局_代理IP, 文本型 .局部变量 retult, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 type, 文本型 局_代理IP = GetIP () .计次循环首 (20, ) .' 如果真 (工作中 = 假) ' 返回 (假) .如果真结束 retult = diaoyong1 (局_代理IP) ' 调试输出 (“slide2->”, retult, , 局_代理IP) ' httpR.Open (“POST”, “http://127.0.0.1:5000/solve”) ' httpR.SetRequestHeaders (“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36” + #换行符 + “Content-Type: application/json”) ' httpR.Send (“{” + #引号 + “gt” + #引号 + “:” + #引号 + “0484f8c2410a5a988d9e94292a34c0c4” + #引号 + “,” + #引号 + “challenge” + #引号 + “:” + #引号 + “5f9502ee96a67e7e41185d636f5d3a5e” + #引号 + “,” + #引号 + “proxy” + #引号 + “:” + #引号 + “127.0.0.1:1080” + #引号 + “}”) ' retult = 编码_usc2到ansi (httpR.GetResponseTextU2A ()) ' 调试输出 (取程序名称 (1), retult) ' zyjson.清空 () ' zyjson.解析 (retult) ' 参_challenge = “5f9502ee96a67e7e41185d636f5d3a5e” ' 参_validate = zyjson.取文本 (“validate”) ' 参_token = “cc7ac52b5e9c47f8b3c9919f7718eb5f” ' ' type = zyjson.取文本 (“type”) zyjson.清空 () zyjson.解析 (retult) 返回challenge = zyjson.取文本 (“geetest_challenge”) 返回validate = zyjson.取文本 (“geetest_validate”) 返回token = zyjson.取文本 (“token”) .如果 (返回challenge ≠ “” 且 返回validate ≠ “” 且 返回token ≠ “”) 返回 (真) .否则 局_代理IP = GetIP () 程序_延时 (1000) .如果结束 .计次循环尾 () 返回 (假) .子程序 slide3, 逻辑型, , 绑邮箱点选 .参数 参_Cookie, 文本型 .参数 参_challenge, 文本型, 参考 .参数 参_validate, 文本型, 参考 .参数 参_seccode, 文本型, 参考 .局部变量 retult, 文本型 .局部变量 局_代理IP, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 geetest_challenge, 文本型 .局部变量 geetest_validate, 文本型 .局部变量 code_token, 文本型 .局部变量 局_type, 文本型 .局部变量 gp, 整数型 局_代理IP = GetIP () .计次循环首 (10, ) .如果真 (工作中 = 假) 返回 (假) .如果真结束 gp = diaoyong2 (参_Cookie + “ Client_ip: ” + 局_代理IP + “ X-forwarded-for: ” + 局_代理IP, “”) ' retult = diaoyong2 (参_Cookie, 局_代理IP) retult = 指针到文本 (gp) ' ‘调试输出 (“绑邮箱点选---”, retult) zyjson.清空 () zyjson.解析 (retult) 参_challenge = zyjson.取文本 (“geetest_challenge”) 参_validate = zyjson.取文本 (“geetest_validate”) 参_seccode = zyjson.取文本 (“geetest_seccode”) ' 局_type = zyjson.取文本 (“type”) ' '这里的type 要为word才能通过 jiRel (gp) .如果 (参_challenge ≠ “” 且 参_validate ≠ “” 且 参_seccode ≠ “”) 返回 (真) .否则 局_代理IP = GetIP () .如果结束 .计次循环尾 () 返回 (假) .子程序 初始化CK, 文本型 .参数 参_ip, 文本型 .局部变量 httpR, WinHttpR .局部变量 str, 文本型 .局部变量 did, 文本型 httpR.SetProxy (参_ip) httpR.Open (“POST”, “https://passport.douyu.com/lapi/did/api/get?client_id=1&_=” + 时间_取现行时间戳 () + “&callback=axiosJsonpCallback1”) httpR.SetRequestHeaders (#常量7) httpR.SetCookie () httpR.Send () str = httpR.GetResponseTextU2A () did = 文本_取出中间文本 (str, “did” + #引号 + “:” + #引号, #引号) 返回 (did) .子程序 登录斗鱼, 逻辑型 .参数 参_IP, 文本型 .参数 dy用户账号, 文本型 .参数 dy密码, 文本型 .参数 geetest_challenge, 文本型 .参数 geetest_validate, 文本型 .参数 code_token, 文本型 .参数 返回Cookie, 文本型, 参考 .局部变量 httpR, WinHttpR .局部变量 str, 文本型 .局部变量 CK, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 did, 文本型 .局部变量 局_CK, 文本型 .局部变量 err0, 整数型 .' 计次循环首 (5, ) ' did = 初始化CK (参_IP) .' 如果 (did ≠ “”) ' 跳出循环 () .否则 ' 参_IP = GetIP () .如果结束 .' 计次循环尾 () .' 如果真 (did = “”) ' 返回 (假) .如果真结束 did = “67f9ad421edfebd03635494f00041601” CK = “dy_did=” + did + “; acf_did=” + did + “; last_login_way=phone; Hm_lpvt_e99aee90ec1b2106afe7ec3b199020a7=” + 时间_取现行时间戳 (真) ' '调试输出 (“CK--------->”, CK) httpR.SetProxy (参_IP) .计次循环首 (5, ) httpR.Open (“POST”, “https://passport.douyu.com/iframe/loginNew”) httpR.SetRequestHeaders (#常量login) httpR.SetCookie (CK) httpR.Send (“username=” + 编码_URL编码_JS (dy用户账号, ) + “&password=” + 校验_取md5 (到字节集 (dy密码)) + “&room_id=0&code_verify_data%5Bcode_type%5D=1&code_verify_data%5Bcode_token%5D=” + code_token + “&code_verify_data%5Bcode_data%5D%5Bgeetest_challenge%5D=” + geetest_challenge + “&code_verify_data%5Bcode_data%5D%5Bgeetest_validate%5D=” + geetest_validate + “&code_verify_data%5Bcode_data%5D%5Bgeetest_seccode%5D=” + geetest_validate + “%7Cjordan&code_verify_data%5Bcode_data%5D%5Bgt_version%5D=v3&redirect_url=https%3A%2F%2Fpassport.douyu.com%2Findex%2Flogin%3Fpassport_reg_callback%3DPASSPORT_REG_SUCCESS_CALLBACK%26passport_login_callback%3DPASSPORT_LOGIN_SUCCESS_CALLBACK%26passport_close_callback%3DPASSPORT_CLOSE_CALLBACK%26passport_dp_callback%3DPASSPORT_DP_CALLBACK%26type%3Dlogin%26client_id%3D1%26state%3Dhttps%253A%252F%252Fwww.douyu.com%252F%26source%3Dclick_topnavi_login&t=” + 时间_取现行时间戳 () + “&client_id=1&did=&lang=&isMultiAccount=0”) str = 编码_usc2到ansi (httpR.GetResponseTextU2A ()) 局_CK = httpR.GetAllResponseCookies () 调试输出 (“登录XXX----”, str, 局_CK) zyjson.清空 () zyjson.解析 (str) err0 = zyjson.取整数 (“error”) .如果 (str ≠ “”) .如果真 (err0 = 130014) .如果真 (寻找文本 (str, “账号登录异常”, , 假) ≠ -1) 返回Cookie = “账号登录异常” 返回 (假) .如果真结束 .如果真 (局_CK ≠ “”) 跳出循环 () .如果真结束 .如果真结束 .如果真 (寻找文本 (str, “验证码错误”, , 假) ≠ -1) 返回Cookie = “验证码错误” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “网络错误”, , 假) ≠ -1) 返回Cookie = “网络错误” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “账号或者密码错误”, , 假) ≠ -1) 返回Cookie = “账号或者密码错误” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “账号登录异常”, , 假) ≠ -1) 返回Cookie = “账号登录异常” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “账号不存在”, , 假) ≠ -1) 返回Cookie = “账号不存在” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “邮箱密码错误”, , 假) ≠ -1) 返回Cookie = “邮箱密码错误” 返回 (假) .如果真结束 .否则 参_IP = GetIP () httpR.SetProxy (参_IP) .如果结束 .计次循环尾 () .如果真 (局_CK = “”) 返回 (假) .如果真结束 返回Cookie = 网页_Cookie合并更新 (CK, 局_CK) 返回 (真) .子程序 登录斗鱼2, 逻辑型 .参数 参_IP, 文本型 .参数 dy用户账号, 文本型 .参数 dy密码, 文本型 .参数 geetest_challenge, 文本型 .参数 geetest_validate, 文本型 .参数 code_token, 文本型 .参数 返回code, 文本型, 参考 可空 .参数 返回Cookie, 文本型, 参考 .局部变量 httpR, WinHttpR .局部变量 str, 文本型 .局部变量 CK, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 did, 文本型 .局部变量 局_CK, 文本型 .局部变量 err0, 整数型 .局部变量 nicknameOrPhoneEncrypt, 文本型 .局部变量 password, 文本型 .局部变量 body, 文本型 .局部变量 code, 文本型 ' did = “6ab33184203a7d50d5f9a8fa00021701” ' CK = “dy_did=” + did + “; acf_did=” + did + “; last_login_way=phone; Hm_lpvt_e99aee90ec1b2106afe7ec3b199020a7=” + 时间_取现行时间戳 (真) ' '调试输出 (“CK--------->”, CK) httpR.SetProxy (参_IP) nicknameOrPhoneEncrypt = 编码_URL编码_JS (登录加密 (dy用户账号), 1) password = 校验_取md5 (到字节集 (dy密码)) .计次循环首 (5, ) body = “type=1&nicknameOrPhoneEncrypt=” + nicknameOrPhoneEncrypt + “&password=” + password + “&room_id=0&code_type=1&code_token=” + code_token + “>_version=v3&geetest_challenge=” + geetest_challenge + “&geetest_validate=” + geetest_validate + “&geetest_seccode=” + geetest_validate + “%7Cjordan&code_data%5Bgeetest_challenge%5D=” + geetest_challenge + “&code_data%5Bgeetest_validate%5D=” + geetest_validate + “&code_data%5Bgeetest_seccode%5D=” + geetest_validate + “%7Cjordan&code_data%5Bgt_version%5D=v3&code_data%5Bcode%5D=&redirect_url=https%3A%2F%2Fpassport.douyu.com%2Findex%2Flogin%3Fpassport_reg_callback%3DPASSPORT_REG_SUCCESS_CALLBACK%26passport_login_callback%3DPASSPORT_LOGIN_SUCCESS_CALLBACK%26passport_close_callback%3DPASSPORT_CLOSE_CALLBACK%26passport_dp_callback%3DPASSPORT_DP_CALLBACK%26type%3Dlogin%26client_id%3D1%26state%3Dhttps%253A%252F%252Fwww.douyu.com%252F%253Fdyshid%253D0-6ab33184203a7d50d5f9a8fa00021701%26source%3Dclick_topnavi_login&t=” + 时间_取现行时间戳 () + “&client_id=1&did=&lang=&isMultiAccount=0&biz_type=1” httpR.Open (“POST”, “https://passport.douyu.com/wgapi/member/passport/login”) httpR.SetRequestHeaders (#常量login) httpR.SetCookie (CK) httpR.Send (body) str = 编码_usc2到ansi (httpR.GetResponseTextU2A ()) 局_CK = httpR.GetAllResponseCookies () ' 调试输出 (“登录XXX----”, str, 局_CK) zyjson.清空 () zyjson.解析 (str) err0 = zyjson.取整数 (“error”) .如果 (str ≠ “”) .如果真 (err0 = 130014) code = zyjson.取文本 (“data.remoteLogin.code”) ' 调试输出 (“code---”, code) .如果真 (code ≠ “”) 返回code = code 返回Cookie = 网页_Cookie合并更新 (CK, 局_CK) 返回 (真) .如果真结束 返回Cookie = “账号登录异常” 返回 (假) .' 如果真 (寻找文本 (str, “账号登录异常”, , 假) ≠ -1) ' 返回Cookie = “账号登录异常” ' 返回 (假) .如果真结束 .' 如果真 (局_CK ≠ “”) ' 跳出循环 () .如果真结束 .如果真结束 .如果真 (寻找文本 (str, “验证码错误”, , 假) ≠ -1) 返回Cookie = “验证码错误” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “网络错误”, , 假) ≠ -1) 返回Cookie = “网络错误” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “账号或者密码错误”, , 假) ≠ -1) 返回Cookie = “账号或者密码错误” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “账号登录异常”, , 假) ≠ -1) 返回Cookie = “账号登录异常” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “账号不存在”, , 假) ≠ -1) 返回Cookie = “账号不存在” 返回 (假) .如果真结束 .如果真 (寻找文本 (str, “邮箱密码错误”, , 假) ≠ -1) 返回Cookie = “邮箱密码错误” 返回 (假) .如果真结束 .否则 参_IP = GetIP () httpR.SetProxy (参_IP) .如果结束 .计次循环尾 () .如果真 (局_CK = “”) 返回 (假) .如果真结束 返回Cookie = 网页_Cookie合并更新 (CK, 局_CK) 返回 (真) .子程序 邮箱发送验证, 逻辑型 .参数 参_code, 文本型 .参数 参_CK, 文本型 .局部变量 httpR, WinHttpR .局部变量 str, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 err0, 整数型 .局部变量 runip, 文本型 runip = GetIP () httpR.SetProxy (runip) .计次循环首 (3, ) httpR.Open (“POST”, “https://passport.douyu.com/iframe/sendEmail”) httpR.SetRequestHeaders (#常量8) httpR.SetCookie (参_CK) httpR.Send (“cacheId=” + 参_code) str = 编码_usc2到ansi (httpR.GetResponseTextU2A ()) ' 调试输出 (“邮箱发送验证-”, str) .如果 (str ≠ “”) zyjson.解析 (str) err0 = zyjson.取整数 (“error”) .如果真 (err0 = 0) 返回 (真) .如果真结束 .如果真 (err0 = -1) 返回 (假) .如果真结束 .否则 runip = GetIP () .如果结束 程序_延时 (500) .计次循环尾 () 返回 (假) .子程序 提交邮件码验证, 逻辑型 .参数 参_code, 文本型 .参数 参_验证码, 文本型 .参数 参_CK, 文本型 .参数 返回jumURL, 文本型, 参考 .局部变量 httpR, WinHttpR .局部变量 str, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 局_url, 文本型 .局部变量 runip, 文本型 .局部变量 error, 文本型 runip = GetIP () httpR.SetProxy (runip) .计次循环首 (10, ) httpR.Open (“POST”, “https://passport.douyu.com/iframe/remoteLogin”) httpR.SetRequestHeaders (#常量8) httpR.SetCookie (参_CK) httpR.Send (“veify_type=2&phoneCaptcha=” + 参_验证码 + “&client_id=1&isMultiAccount=0&cacheId=” + 参_code) str = httpR.GetResponseTextU2A () ' 调试输出 (取程序名称 (1), str) zyjson.解析 (str) error = zyjson.取文本 (“error”) 局_url = 编码_usc2到ansi (zyjson.取文本 (“data.url”)) .如果真 (error = “101”) 返回jumURL = zyjson.取文本 (“msg”) 返回 (假) .如果真结束 .如果 (局_url ≠ “”) 返回jumURL = 局_url 返回 (真) .否则 runip = GetIP () .如果结束 程序_延时 (300) .计次循环尾 () 返回 (假) .子程序 登录取Cookie, 逻辑型 .参数 参_IP, 文本型 .参数 参_ck, 文本型 .参数 参_url, 文本型 .参数 runCK, 文本型, 参考 .局部变量 httpR, WinHttpR .局部变量 str, 文本型 .局部变量 局_Cookie, 文本型 .局部变量 局_代理IP, 文本型 ' 调试输出 (“参_url---”, 参_url) httpR.SetProxy (参_IP) .计次循环首 (5, ) httpR.Open (“GET”, “https:” + 参_url + “&callback=json_callback&_” + 时间_取现行时间戳 () + “=”) httpR.SetRequestHeaders (#常量9) httpR.SetCookie (参_ck) httpR.Send () 局_Cookie = httpR.GetAllResponseCookies () str = 编码_usc2到ansi (httpR.GetResponseTextU2A ()) ' 调试输出 (“登录---”, str) ' 调试输出 (“局_Cookie--”, 局_Cookie) .如果 (str ≠ “”) .如果 (寻找文本 (str, “登录失败”, , 假) ≠ -1 或 寻找文本 (str, “无效”, , 假) ≠ -1) runCK = “登录失败” 返回 (假) .否则 .如果真 (局_Cookie ≠ “”) runCK = 局_Cookie 返回 (真) .如果真结束 .如果结束 .否则 参_IP = GetIP () httpR.SetProxy (参_IP) .如果结束 .计次循环尾 () 局_Cookie = “取CK失败” 返回 (假) .子程序 查询SM, 逻辑型 .参数 参_CK, 文本型 .局部变量 str, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 ident, 文本型 .局部变量 局_IP, 文本型 局_IP = GetIP () .计次循环首 (3, ) str = 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/member/cp/cp_rpc_ajax”, , , 参_CK, , “Host: www.douyu.com” + #换行符 + “Connection: keep-alive” + #换行符 + “sec-ch-ua: ” + #引号 + “Google Chrome” + #引号 + “;v=” + #引号 + “119” + #引号 + “, ” + #引号 + “Chromium” + #引号 + “;v=” + #引号 + “119” + #引号 + “, ” + #引号 + “Not?A_Brand” + #引号 + “;v=” + #引号 + “24” + #引号 + “” + #换行符 + “Accept: application/json, text/javascript, */*; q=0.01” + #换行符 + “X-Requested-With: XMLHttpRequest” + #换行符 + “sec-ch-ua-mobile: ?0” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “Sec-Fetch-Site: same-origin” + #换行符 + “Sec-Fetch-Mode: cors” + #换行符 + “Sec-Fetch-Dest: empty” + #换行符 + “Referer: https://www.douyu.com/member/cp”, , , 真, , 局_IP)) .如果 (str ≠ “”) zyjson.清空 () zyjson.解析 (str) ident = zyjson.取文本 (“info.ident”) .如果真 (寻找文本 (ident, “******”, , 假) ≠ -1) 返回 (真) .如果真结束 .如果真 (ident = “false”) 返回 (假) .如果真结束 .否则 局_IP = GetIP () .如果结束 .计次循环尾 () 返回 (假) .子程序 查询账号状态, 逻辑型 .参数 参_CK, 文本型 .局部变量 str, 文本型 .局部变量 zyjson, zyJsonValue .局部变量 ident, 文本型 .局部变量 局_IP, 文本型 局_IP = GetIP () .计次循环首 (3, ) str = 编码_Utf8到Ansi (网页_访问_对象 (“https://yuba.douyu.com/ybapi/topic/sign?timestamp=17011600”, 1, “group_id=2493219&cur_exp=0”, 参_CK, , “Host: yuba.douyu.com” + #换行符 + “Connection: keep-alive” + #换行符 + “Content-Length: 26” + #换行符 + “sec-ch-ua: ” + #引号 + “Google Chrome” + #引号 + “;v=” + #引号 + “119” + #引号 + “, ” + #引号 + “Chromium” + #引号 + “;v=” + #引号 + “119” + #引号 + “, ” + #引号 + “Not?A_Brand” + #引号 + “;v=” + #引号 + “24” + #引号 + “” + #换行符 + “Content-Type: application/x-www-form-urlencoded” + #换行符 + “X-CSRF-TOKEN: 2gBHQlimO9bVXG3Rj60IJ7siFA8y5Wdg” + #换行符 + “sec-ch-ua-mobile: ?0” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “Accept: */*” + #换行符 + “Origin: https://yuba.douyu.com” + #换行符 + “Referer: https://yuba.douyu.com/group/2493219” + #换行符 + “Accept-Language: zh-CN,zh;q=0.9”, , , 真, , 局_IP)) .如果 (str ≠ “”) zyjson.清空 () zyjson.解析 (str) ident = zyjson.取文本 (“info.ident”) .如果真 (寻找文本 (ident, “******”, , 假) ≠ -1) 返回 (真) .如果真结束 .如果真 (ident = “false”) 返回 (假) .如果真结束 .否则 局_IP = GetIP () .如果结束 .计次循环尾 () 返回 (假) .子程序 _取单条Cookie, 文本型, 公开, 从左往右获取 .参数 Cookie, 文本型 .参数 名称, 文本型 .参数 不附带名称, 逻辑型, 可空 .局部变量 t, 文本型 Cookie = 删首尾空 (Cookie) .如果真 (取文本右边 (Cookie, 1) ≠ “;”) Cookie = Cookie + “; ” .如果真结束 t = 单条Cookie (Cookie, 名称) .判断开始 (不附带名称 或 t = “”) 返回 (t) .默认 返回 (名称 + “=” + t) .判断结束 .子程序 单条Cookie, 文本型 .参数 原Cookies, 文本型 .参数 单条Cookie名称, 文本型 .局部变量 Cookies, 文本型, , "0" .局部变量 i, 整数型 .局部变量 Name, 文本型 Cookies = 分割文本 (原Cookies, “;”, ) .计次循环首 (取数组成员数 (Cookies), i) Name = 文本_取左边 (删首尾空 (Cookies [i]), “=”, , ) .如果真 (到小写 (Name) = 到小写 (单条Cookie名称)) .如果真 (寻找文本 (删首尾空 (Cookies [i]), “:”, , 假) ≠ -1) 返回 (文本_取出中间文本 (删首尾空 (Cookies [i]), “=”, “:”, , )) .如果真结束 返回 (文本_取右边 (删首尾空 (Cookies [i]), “=”, , )) .如果真结束 .计次循环尾 () 返回 (“”)