提交 dc04952d 编写于 作者: H hjdhnx

增加对UA的处理

上级 0a895a89
import ch from './cheerio.min.js'; import cheerio from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/cheerio.min.js';
// import 'http://192.168.10.99:5705/txt/pluto/drT.js'; import 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/libs/drT.js';
// import 'http://192.168.3.239:5705/txt/pluto/drT.js'; import muban from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js'
import 'http://gitcode.net/qq_32394351/dr_py/-/raw/master/txt/pluto/drT.js';
// import muban from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/txt/pluto/muban.js';
import muban from 'https://raw.githubusercontent.com/pluto-player/dr/main/js/template.js'
// import 模板 from 'https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js'
// var rule = Object.assign(模板.首图2,{
// host: 'https://www.zbkk.net',
// });
const key = 'drpy_zbk'; // const key = 'drpy_zbk';
function init_test(){ function init_test(){
// console.log("init_test_start"); console.log("init_test_start");
console.log(RKEY);
console.log(rule);
// clearItem(RULE_CK); // clearItem(RULE_CK);
// console.log(JSON.stringify(rule)); // console.log(JSON.stringify(rule));
// console.log(request('https://www.baidu.com',{withHeaders:true})); // console.log(request('https://www.baidu.com',{withHeaders:true}));
...@@ -20,10 +15,10 @@ function init_test(){ ...@@ -20,10 +15,10 @@ function init_test(){
// require('http://192.168.10.99:5705/txt/pluto/drT.js'); // require('http://192.168.10.99:5705/txt/pluto/drT.js');
// console.log(typeof(drT)); // console.log(typeof(drT));
// console.log(drT.renderText('{{fl.cate}},hi, {{fl}}哈哈.{{fl}}',{sort: 1,cate:'movie'},'fl')); // console.log(drT.renderText('{{fl.cate}},hi, {{fl}}哈哈.{{fl}}',{sort: 1,cate:'movie'},'fl'));
// console.log("init_test_end"); console.log("init_test_end");
} }
let rule = {} let rule = {};
/*** 以下是内置变量和解析方法 **/ /*** 以下是内置变量和解析方法 **/
...@@ -33,8 +28,7 @@ const UA = 'Mozilla/5.0'; ...@@ -33,8 +28,7 @@ const UA = 'Mozilla/5.0';
const UC_UA = 'Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36'; const UC_UA = 'Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36';
const IOS_UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'; const IOS_UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1';
const RULE_CK = 'cookie'; // 源cookie的key值 const RULE_CK = 'cookie'; // 源cookie的key值
// const KEY = typeof(key)!=='undefined'&&key?key:'drpy_'+rule.title; // 源的唯一标识 // const KEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host); // 源的唯一标识
const KEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host); // 源的唯一标识
const CATE_EXCLUDE = '首页|留言|APP|下载|资讯|新闻|动态'; const CATE_EXCLUDE = '首页|留言|APP|下载|资讯|新闻|动态';
const TAB_EXCLUDE = '猜你|喜欢|APP|下载|剧情|热播'; const TAB_EXCLUDE = '猜你|喜欢|APP|下载|剧情|热播';
const OCR_RETRY = 3;//ocr验证重试次数 const OCR_RETRY = 3;//ocr验证重试次数
...@@ -43,6 +37,7 @@ const OCR_API = 'http://192.168.3.239:5705/parse/ocr';//ocr在线识别接口 ...@@ -43,6 +37,7 @@ const OCR_API = 'http://192.168.3.239:5705/parse/ocr';//ocr在线识别接口
var MY_URL; // 全局注入变量,pd函数需要 var MY_URL; // 全局注入变量,pd函数需要
var VODS = [];// 一级或者搜索需要的数据列表 var VODS = [];// 一级或者搜索需要的数据列表
var vod = {};//二级用单个影片详情 var vod = {};//二级用单个影片详情
var RKEY; // 源的唯一标识
/*** 后台需要实现的java方法并注入到js中 ***/ /*** 后台需要实现的java方法并注入到js中 ***/
...@@ -131,8 +126,8 @@ function verifyCode(url){ ...@@ -131,8 +126,8 @@ function verifyCode(url){
* @param v 值 * @param v 值
*/ */
function setItem(k,v){ function setItem(k,v){
local.set(KEY,k,v); local.set(RKEY,k,v);
console.log(`规则${KEY}设置${k} => ${v}`) console.log(`规则${RKEY}设置${k} => ${v}`)
} }
/** /**
...@@ -142,7 +137,7 @@ function setItem(k,v){ ...@@ -142,7 +137,7 @@ function setItem(k,v){
* @returns {*} * @returns {*}
*/ */
function getItem(k,v){ function getItem(k,v){
return local.get(KEY,k) || v; return local.get(RKEY,k) || v;
} }
/** /**
...@@ -150,7 +145,7 @@ function getItem(k,v){ ...@@ -150,7 +145,7 @@ function getItem(k,v){
* @param k * @param k
*/ */
function clearItem(k){ function clearItem(k){
local.delete(KEY,k); local.delete(RKEY,k);
} }
/** /**
...@@ -199,7 +194,7 @@ function pD(html,parse,uri){ ...@@ -199,7 +194,7 @@ function pD(html,parse,uri){
uri = ''; uri = '';
} }
// MY_URL = getItem('MY_URL',MY_URL); // MY_URL = getItem('MY_URL',MY_URL);
// console.log(`规则${KEY}打印MY_URL:${MY_URL},uri:${uri}`); // console.log(`规则${RKEY}打印MY_URL:${MY_URL},uri:${uri}`);
return urljoin(MY_URL,ret) return urljoin(MY_URL,ret)
} }
...@@ -872,12 +867,13 @@ function playParse(playObj){ ...@@ -872,12 +867,13 @@ function playParse(playObj){
} else if (typeof ext == 'string') { } else if (typeof ext == 'string') {
if (ext.startsWith('http')) { if (ext.startsWith('http')) {
let js = request(ext,{'method':'GET'}); let js = request(ext,{'method':'GET'});
if (js) eval(js.replace('var rule', 'rule')); if (js){
eval(js.replace('var rule', 'rule'));
}
}
} else { } else {
eval(ext.replace('var rule', 'rule')); eval(ext.replace('var rule', 'rule'));
} }
}
/** 处理一下 rule规则关键字段没传递的情况 **/ /** 处理一下 rule规则关键字段没传递的情况 **/
let rule_cate_excludes = (rule.cate_exclude||'').split('|').filter(it=>it.trim()); let rule_cate_excludes = (rule.cate_exclude||'').split('|').filter(it=>it.trim());
let rule_tab_excludes = (rule.tab_exclude||'').split('|').filter(it=>it.trim()); let rule_tab_excludes = (rule.tab_exclude||'').split('|').filter(it=>it.trim());
...@@ -890,8 +886,20 @@ function playParse(playObj){ ...@@ -890,8 +886,20 @@ function playParse(playObj){
rule.url = rule.url||''; rule.url = rule.url||'';
rule.homeUrl = rule.homeUrl||''; rule.homeUrl = rule.homeUrl||'';
rule.searchUrl = rule.searchUrl||''; rule.searchUrl = rule.searchUrl||'';
if(rule.headers && typeof(rule.headers) === 'object'){
let header_keys = Object.keys(rule.headers);
for(let k of header_keys){
if(k.toLowerCase() === 'user-agent'){
let v = header_keys[k];
if(['MOBILE_UA','PC_UA','UC_UA','IOS_UA','UA'].includes(v)){
rule.headers[k] = eval(v);
}
}
}
}
// init_test(); RKEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host);
init_test();
}catch (e) { }catch (e) {
console.log('init_test发生错误:'+e.message); console.log('init_test发生错误:'+e.message);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册