var url = "https://wwt.lanzouu.com/icuiF1o31f8d"
定义了一个变量url
,其值为一个特定的网页地址。
var http = new okHttp()
r = http.get(url)
创建了一个okHttp
对象,用于进行HTTP请求。然后使用get
方法请求之前定义的url
,并将响应内容存储在变量r
中。
var regex = /\/fn\?[\w-]+/g;
r = r.match(regex)
printl(r)
定义了一个正则表达式regex
,用于匹配形如/fn?xxxxx
的字符串。然后使用match
方法在响应内容r
中查找匹配的字符串,并将结果存储回r
中。printl(r)
用于输出匹配结果。
r2 = http.get("https://wwt.lanzouu.com/" + r[0])
printl(r2)
使用okHttp
对象再次发起GET请求,这次请求的URL是通过将r
的第一个匹配结果拼接到https://wwt.lanzouu.com/
后面生成的。然后将响应内容存储在变量r2
中,并输出。
var regex2 = /'sign':'(.*?)'/
var sign = r2.match(regex2)
printl(sign)
定义了一个新的正则表达式regex2
,用于匹配形如'sign':'xxxxx'
的字符串。然后在r2
中查找匹配的字符串,并将结果存储在变量sign
中,最后输出。
var regex3 = /url\s:\s'(.*?)'/
var url = r2.match(regex3)
printl(url)
定义了另一个正则表达式regex3
,用于匹配形如url : 'xxxxx'
的字符串。然后在r2
中查找匹配的字符串,并将结果存储在变量url
中,最后输出。
tt = "https://wwt.lanzouu.com" + url[1]
printl(tt)
将url
的第一个匹配结果(即文件的实际路径)拼接到https://wwt.lanzouu.com
后面,生成一个新的URLtt
,并输出。
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
(用户代理),以模拟浏览器请求。
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)
printl(post)
创建一个map
对象data
,用于存储POST请求的数据。添加多个键值对到data
中,然后使用post
方法向tt
发送POST请求,并将响应内容存储在变量post
中。printl(post)
用于输出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
等,以模拟浏览器请求的不同方面。
http.downloadFile(post.dom + "/file/" + post.url, "/sdcard/Pictures/11.exe")
使用downloadFile
方法从指定的URL下载文件。URL由post.dom
(域名)和post.url
(文件路径)组成。下载的文件将保存到/sdcard/Pictures/11.exe
路径下。