提交 058ef7b7 编写于 作者: H hjdhnx

改了版本号

上级 6fbff148
......@@ -3,12 +3,12 @@
# File : parse.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2022/9/24
from flask import Blueprint, jsonify,redirect
from flask import Blueprint, jsonify,redirect,make_response
from utils.web import getParmas,get_interval
import os
from utils.cfg import cfg
from utils.log import logger
from utils.encode import OcrApi
from utils.encode import OcrApi,base64ToImage
from controllers.service import storage_service
from utils.pyctx import py_ctx,getPreJs,runJScode,JsObjectWrapper,PyJsString,parseText,jsoup,time
import base64
......@@ -54,6 +54,11 @@ def toast(url:str):
url = parseText(str(url))
return f'toast://{url}'
def image(text:str):
if isinstance(text, PyJsString):
text = parseText(str(text))
return f'image://{text}'
@parse.route('/api/<path:filename>')
def parse_home(filename):
url = getParmas('url')
......@@ -74,6 +79,7 @@ def parse_home(filename):
'jsp':jsp,
'重定向':重定向,
'toast':toast,
'image':image,
'print':print,
'log':logger.info,
'getParmas':getParmas,
......@@ -99,6 +105,11 @@ def parse_home(filename):
return redirect(realUrl.split('redirect://')[1])
elif str(realUrl).startswith('toast://'):
return R.failed(str(realUrl).split('toast://')[1],extra={'from':url})
elif str(realUrl).startswith('image://'):
img_data = base64ToImage(str(realUrl).split('image://')[1])
response = make_response(img_data)
response.headers['Content-Type'] = 'image/jpeg'
return response
return R.success(f'{filename}解析成功',realUrl,{'time':f'{get_interval(t1)}毫秒','from':url})
except Exception as e:
msg = f'{filename}解析出错:{e}'
......
let url_tmp = vipUrl.split('@');
let url = url_tmp[0];
let headers = {};
url_tmp.slice(1).forEach(function (it){
headers[it.split('=')[0]] = it.split('=')[1];
});
let html = request(vipUrl,{headers:headers});
print(html.length);
try {
realUrl = image(html);
}catch (e) {
print('发生了错误:'+e);
}
\ No newline at end of file
此差异已折叠。
3.9.30beta4
\ No newline at end of file
3.9.30beta5
\ No newline at end of file
此差异已折叠。
......@@ -404,4 +404,12 @@ def forceOrder(lists:list,key:str=None,option=None):
if num1 > num2:
lists.reverse()
return lists
\ No newline at end of file
return lists
def base64ToImage(image_base64:str):
if isinstance(image_base64,PyJsString):
image_base64 = parseText(str(image_base64))
if ',' in image_base64:
image_base64 = image_base64.split(',')[1]
img_data = base64.b64decode(image_base64)
return img_data
\ No newline at end of file
......@@ -10,7 +10,7 @@ import requests
from utils.web import *
from utils.log import logger
from utils.encode import base64Encode,base64Decode,fetch,post,request,getCryptoJS,getPreJs,buildUrl,getHome,parseText,atob
from utils.encode import setDetail,join,urljoin2,parseText,requireCache
from utils.encode import setDetail,join,urljoin2,parseText,requireCache,base64ToImage
from utils.encode import md5 as mmd5
from utils.parser import runPy,runJScode,JsObjectWrapper,PyJsObject,PyJsString
from urllib.parse import quote
......@@ -70,5 +70,5 @@ py_ctx = {
'buildUrl':buildUrl,'getHome':getHome,'setDetail':setDetail,'join':join,'urljoin2':urljoin2,
'PC_UA':PC_UA,'MOBILE_UA':MOBILE_UA,'UC_UA':UC_UA,'IOS_UA':IOS_UA,
'setItem':setItem,'getItem':getItem,'clearItem':clearItem,'stringify':stringify,'encodeUrl':encodeUrl,
'requireObj':requireObj,'md5':md5,'atob':atob
'requireObj':requireObj,'md5':md5,'atob':atob,'base64ToImage':base64ToImage
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册