蓝奏云-文件下载(2.8.9版本) /* 欢迎使用AiWork安卓自动化IDE 帮助文档: http://help.autoapp.net.cn 官方地址: www.aiwork24.com 官方联系QQ群: 71184 ...
var url = "https://wwt.lanzouu.com/icuiF1o31f8d"
定义了一个变量url,其值为一个特定的网页地址。
url
var http = new okHttp() r = http.get(url)
创建了一个okHttp对象,用于进行HTTP请求。然后使用get方法请求之前定义的url,并将响应内容存储在变量r中。
okHttp
get
r
var regex = /\/fn\?[\w-]+/g; r = r.match(regex) printl(r)
定义了一个正则表达式regex,用于匹配形如/fn?xxxxx的字符串。然后使用match方法在响应内容r中查找匹配的字符串,并将结果存储回r中。printl(r)用于输出匹配结果。
regex
/fn?xxxxx
match
printl(r)
r2 = http.get("https://wwt.lanzouu.com/" + r[0]) printl(r2)
使用okHttp对象再次发起GET请求,这次请求的URL是通过将r的第一个匹配结果拼接到https://wwt.lanzouu.com/后面生成的。然后将响应内容存储在变量r2中,并输出。
https://wwt.lanzouu.com/
r2
var regex2 = /'sign':'(.*?)'/ var sign = r2.match(regex2) printl(sign)
定义了一个新的正则表达式regex2,用于匹配形如'sign':'xxxxx'的字符串。然后在r2中查找匹配的字符串,并将结果存储在变量sign中,最后输出。
regex2
'sign':'xxxxx'
sign
var regex3 = /url\s:\s'(.*?)'/ var url = r2.match(regex3) printl(url)
定义了另一个正则表达式regex3,用于匹配形如url : 'xxxxx'的字符串。然后在r2中查找匹配的字符串,并将结果存储在变量url中,最后输出。
regex3
url : 'xxxxx'
tt = "https://wwt.lanzouu.com" + url[1] printl(tt)
将url的第一个匹配结果(即文件的实际路径)拼接到https://wwt.lanzouu.com后面,生成一个新的URLtt,并输出。
https://wwt.lanzouu.com
tt
http.setHeader('Referer', "https://wwt.lanzouu.com") http.setHeader('User-Agent', "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0")
设置HTTP请求头,包括Referer(来源)和User-Agent(用户代理),以模拟浏览器请求。
Referer
User-Agent
var data = new map() data.add('action', 'downprocess') data.add('signs', '?ctdf') data.add('sign', sign[1]) data.add('websign', '') data.add('websignkey', 'bL27') data.add('ves', 1) post = http.post(tt, data) // post = http.json(tt,data) printl(post)
创建一个map对象data,用于存储POST请求的数据。添加多个键值对到data中,然后使用post方法向tt发送POST请求,并将响应内容存储在变量post中。printl(post)用于输出POST请求的响应内容。
map
data
post
printl(post)
post = JSON.parse(post)
将POST请求的响应内容从JSON字符串解析为JavaScript对象。
http.clearHeader()
清除之前设置的HTTP请求头。
http.setHeader('accept', "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7") http.setHeader("accept-language", "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6") http.setHeader("sec-ch-ua", "\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Microsoft Edge\";v=\"122\"") http.setHeader("sec-ch-ua-mobile", "?0") http.setHeader("sec-ch-ua-platform", "\"Windows\"") http.setHeader("sec-fetch-dest", "document") http.setHeader("sec-fetch-mode", "navigate") http.setHeader("sec-fetch-site", "none") http.setHeader("sec-fetch-user", "?1") http.setHeader("upgrade-insecure-requests", "1") http.setHeader("cookie", "down_ip=1")
再次设置HTTP请求头,包括accept、accept-language、sec-ch-ua等,以模拟浏览器请求的不同方面。
accept
accept-language
sec-ch-ua
http.downloadFile(post.dom + "/file/" + post.url, "/sdcard/Pictures/11.exe")
使用downloadFile方法从指定的URL下载文件。URL由post.dom(域名)和post.url(文件路径)组成。下载的文件将保存到/sdcard/Pictures/11.exe路径下。
downloadFile
post.dom
post.url
/sdcard/Pictures/11.exe