"ui";
importClass(java.io.File);
importPackage(android.text);
importPackage(android.text.style);
var storage = storages.create("懸浮窗信息");
ui.layout(
<vertical id="main" marginTop='0' padding="10 10 10 30" bg="#ff1e90ff">
<text id="ua" marginTop='10'>ua</text>
<text id="緩存信息">緩存信息</text>
<text id="cookie信息" singleLine="true" ellipsize="end" >cookie信息</text>
<horizontal layout_width="wrap_content" weightSum="5" >
<button id="切換UA" textSize="{{11}}" layout_weight="1">切換UA</button>
<button id="清除緩存" textSize="{{11}}" layout_weight="1">清除緩存</button>
<button id="刷新" textSize="{{11}}" layout_weight="1">刷新</button>
<button id="上一頁" textSize="{{11}}" layout_weight="1">上一頁</button>
<button id="下一頁" textSize="{{11}}" layout_weight="1">下一頁</button>
</horizontal>
<horizontal>
<frame layout_weight="1">
<button id="百度網站">百度網站</button>
</frame>
<frame layout_weight="1">
<button id="關閉" textColor='#ff0000'>關閉</button>
</frame>
<frame layout_weight="1">
<button id="UA網站" >UA網站</button>
</frame>
</horizontal>
<webview id="a" h="450" w="350" />
</vertical >
);
http.__okhttp__.muteClient(new OkHttpClient.Builder().cookieJar(new org.autojs.autojs.network.util.WebkitCookieManagerProxy()))
var cookieManager = android.webkit.CookieManager.getInstance();
ui.a.getSettings().setJavaScriptEnabled(true);
var url = "https://www.baidu.com/"
// var url = "http://www.fynas.com/ua/view"
var webView = ui.a
webView.getSettings().setUserAgentString(隨機UA());
setTimeout(顯示手機UA, 1000)
ui.a.loadUrl(url);
var CookieStr = cookieManager.getCookie(url);
ui.切換UA.on("click", () => {
toastLog('點擊了\n切換UA')
var webView = ui.a
webView.getSettings().setUserAgentString(隨機UA());
setTimeout(顯示手機UA, 1000)
})
function 顯示手機UA() {
threads.start(
function () {
ui.run(
function () {
var ua = 獲取手機ua()
ui.ua.setText('UA: ' + ua)
}
)
}
)
}
setInterval(
() => {
var ua = 獲取手機ua()
ui.ua.setText('UA: ' + ua)
var 緩存信息 = 當前緩存()
ui.緩存信息.setText(緩存信息)
var cookie信息 = 當前Cookie()
ui.cookie信息.setText(cookie信息)
var color = "#ff00ff"
markSearch(ui.ua, "UA", color);
markSearch(ui.緩存信息, "緩存", color);
markSearch(ui.cookie信息, "cookie", color);
}, 2000
)
function 獲取手機ua() {
var webView = ui.a
var ua = webView.settings.getUserAgentString();
return ua
}
ui.百度網站.on("click", () => {
var url = "http://new.ykidjzqc.cn/JpfUz/mdmbdmjljvqkriCN.htm"
ui.a.loadUrl(url);
})
ui.UA網站.on("click", () => {
var url = "http://www.fynas.com/ua/view"
ui.a.loadUrl(url);
})
ui.上一頁.on("click", () => {
var webView = ui.a
webView.goBack();
})
ui.下一頁.on("click", () => {
var webView = ui.a
webView.goForward();
})
ui.關閉.on("click", () => {
ui.finish()
})
ui.清除緩存.on("click", () => {
toastLog('點擊了\n清除緩存')
log('清除緩存前cookie=')
log(CookieStr)
var webView = ui.a
// 不讓用js會白屏
// webView.getSettings().setJavaScriptEnabled(false);
var CookieStr = cookieManager.getCookie(url);
cookieManager.removeSessionCookies(null);
cookieManager.removeAllCookie();
cookieManager.flush();
webView.getSettings().setCacheMode(webView.settings.LOAD_NO_CACHE);
context.deleteDatabase("WebView.db");
context.deleteDatabase("WebViewCache.db");
context.getCacheDir().delete();
webView.clearCache(true);
webView.clearFormData();
webView.setWebChromeClient(null);
webView.setWebViewClient(null);
android.webkit.WebStorage.getInstance().deleteAllData(); //清空WebView的localStorage
webView.clearCache(true);
CookieStr = cookieManager.getCookie(url);
log('清除緩存後cookie=')
log(CookieStr)
})
ui.刷新.on("click", () => {
toastLog('點擊了\n刷新')
ui.run(() => {
var webView = ui.a
webView.reload()
setTimeout(顯示手機UA, 1000)
});
})
function 隨機UA() {
var uaArr = [
"Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI",
"Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; U8800 Build/HuaweiU8800) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
"Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn) AppleWebKit/530.17 (KHTML, like Gecko) FlyFlow/2.2 Version/4.0 Mobile Safari/530.17",
"Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; U8800 Build/HuaweiU8800) UC AppleWebKit/534.31 (KHTML, like Gecko) Mobile Safari/534.31",
"Mozilla/5.0 (Linux; Android 4.0.3; M031 Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19"
]
// var uaArr=require('./uaArr.js')
var uasLen = uaArr.length
var n = 隨機數(uasLen)
var ua = uaArr[n]
return ua
function 隨機數(max) {
var r = parseInt(max * Math.random())
return r
}
}
function 當前緩存() {
var file3 = activity.getCacheDir();
var file3Size = getFolderSize(file3)
file3Size = conver(file3Size)
var 當前緩存路徑 = '緩存: ' + file3 + ': ' + file3Size
return 當前緩存路徑
}
function 當前Cookie() {
var CookieStr = cookieManager.getCookie(url);
CookieStr = 'cookie: ' + CookieStr
return CookieStr
}
function getFolderSize(path) {
var file = new File(path)
var size = 0;
try {
var fileList = file.listFiles();
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].isDirectory()) {
size = size + getFolderSize(fileList[i]);
} else {
size = size + fileList[i].length();
}
}
} catch (e) {
log(e)
}
return size
}
function conver(limit) {
var size = "";
if (limit < 0.1 * 1024) { //如果小於0.1KB轉化成B
size = limit.toFixed(2) + "B";
} else if (limit < 0.1 * 1024 * 1024) { //如果小於0.1MB轉化成KB
size = (limit / 1024).toFixed(2) + "KB";
} else if (limit < 0.1 * 1024 * 1024 * 1024) { //如果小於0.1GB轉化成MB
size = (limit / (1024 * 1024)).toFixed(2) + "MB";
} else { //其他轉化成GB
size = (limit / (1024 * 1024 * 1024)).toFixed(2) + "GB";
}
var sizestr = size + "";
var len = sizestr.indexOf("\.");
var dec = sizestr.substr(len + 1, 2);
if (dec == "00") { //當小數點後爲00時 去掉小數部分
return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
}
return sizestr;
}
//刪除指定文件夾下所有文件
//param path 文件夾完整絕對路徑
function delAllFile(path) {
var flag = false;
var file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
var tempList = file.list();
var temp = null;
for (var i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]); //先刪除文件夾裏面的文件
files.remove(path + "/" + tempList[i]); //再刪除空文件夾
flag = true;
}
}
return flag;
}
function highlightText(text, start, length, color) {
if (!(typeof (text) == 'object' && text.getClass().getName() == 'android.text.SpannableStringBuilder')) {
text = new SpannableStringBuilder(text);
}
text.setSpan(new ForegroundColorSpan(colors.parseColor(color)), start, start + length, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
return text;
}
function highlightView(view, start, length, color) {
view.setText(highlightText(view.text(), start, length, color));
}
function markSearch(view, keywords, color) {
let textStr = view.text();
let text = textStr;
let i = -1;
while (i < textStr.length - 1) {
i = textStr.indexOf(keywords, i + 1);
if (i >= 0) {
text = highlightText(text, i, keywords.length, color);
} else {
break;
}
}
view.setText(text);
return text;
}
autojs 瀏覽器源碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.