Merge pull request #352 from IronXiao/master
增加使用浏览器缓存RAIL_EXPIRATION 和 RAIL_DEVICEID 配置,解决临时无法登录问题
This commit is contained in:
@@ -28,7 +28,8 @@ QUERY_JOB_THREAD_ENABLED = 0 # 是否开启多线程查询,开启后第个任
|
||||
|
||||
# 打码平台账号
|
||||
# 目前只支持免费打码接口 和 若快打码,注册地址:http://www.ruokuai.com/login
|
||||
AUTO_CODE_PLATFORM = 'free' # 免费填写 free 若快 ruokuai # 免费打码无法保证持续可用,如失效请手动切换
|
||||
AUTO_CODE_PLATFORM = 'free' # 免费填写 free 若快 ruokuai # 免费打码无法保证持续可用,如失效请手动切换 #个人本地打码填写 user,并修改 API_USER_CODE_QCR_API
|
||||
API_USER_CODE_QCR_API = ''
|
||||
AUTO_CODE_ACCOUNT = {
|
||||
'user': 'your user name',
|
||||
'pwd': 'your password'
|
||||
|
||||
@@ -28,7 +28,8 @@ QUERY_JOB_THREAD_ENABLED = 0 # 是否开启多线程查询,开启后第个任
|
||||
|
||||
# 打码平台账号
|
||||
# 目前只支持免费打码接口 和 若快打码,注册地址:http://www.ruokuai.com/login
|
||||
AUTO_CODE_PLATFORM = 'free' # 免费填写 free 若快 ruokuai # 免费打码无法保证持续可用,如失效请手动切换
|
||||
AUTO_CODE_PLATFORM = 'free' # 免费填写 free 若快 ruokuai # 免费打码无法保证持续可用,如失效请手动切换; 个人打码填写 user 并修改API_USER_CODE_QCR_API 为自己地址
|
||||
API_USER_CODE_QCR_API = ''
|
||||
AUTO_CODE_ACCOUNT = { # 使用 free 可用省略
|
||||
'user': 'your user name',
|
||||
'pwd': 'your password'
|
||||
@@ -109,6 +110,11 @@ WEB_PORT = 8008 # 监听端口
|
||||
CDN_ENABLED = 0
|
||||
CDN_CHECK_TIME_OUT = 1 # 检测单个 cdn 是否可用超时时间
|
||||
|
||||
# 是否使用浏览器缓存中的RAIL_EXPIRATION 和 RAIL_DEVICEID
|
||||
CACHE_RAIL_ID_ENABLED = 0
|
||||
RAIL_EXPIRATION = '' #浏览12306 网站中的Cache的RAIL_EXPIRATION 值
|
||||
RAIL_DEVICEID = '' #浏览12306 网站中的Cache的RAIL_DEVICEID 值
|
||||
|
||||
# 查询任务
|
||||
QUERY_JOBS = [
|
||||
{
|
||||
|
||||
@@ -81,7 +81,7 @@ class App:
|
||||
|
||||
@classmethod
|
||||
def check_auto_code(cls):
|
||||
if Config().AUTO_CODE_PLATFORM == 'free': return True
|
||||
if Config().AUTO_CODE_PLATFORM == 'free' or Config().AUTO_CODE_PLATFORM == 'user': return True
|
||||
if not Config().AUTO_CODE_ACCOUNT.get('user') or not Config().AUTO_CODE_ACCOUNT.get('pwd'):
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -22,6 +22,8 @@ class Config:
|
||||
QUERY_JOB_THREAD_ENABLED = 0
|
||||
# 打码平台账号
|
||||
AUTO_CODE_PLATFORM = ''
|
||||
#用户打码平台地址
|
||||
API_USER_CODE_QCR_API = ''
|
||||
AUTO_CODE_ACCOUNT = {'user': '', 'pwd': ''}
|
||||
# 输出日志到文件
|
||||
OUT_PUT_LOG_TO_FILE_ENABLED = 0
|
||||
@@ -94,6 +96,10 @@ class Config:
|
||||
CDN_ITEM_FILE = PROJECT_DIR + 'data/cdn.txt'
|
||||
CDN_ENABLED_AVAILABLE_ITEM_FILE = QUERY_DATA_DIR + 'available.json'
|
||||
|
||||
CACHE_RAIL_ID_ENABLED = 0
|
||||
RAIL_EXPIRATION = ''
|
||||
RAIL_DEVICEID = ''
|
||||
|
||||
# Default time out
|
||||
TIME_OUT_OF_REQUEST = 5
|
||||
|
||||
@@ -213,6 +219,10 @@ class Config:
|
||||
def is_cdn_enabled():
|
||||
return Config().CDN_ENABLED
|
||||
|
||||
@staticmethod
|
||||
def is_cache_rail_id_enabled():
|
||||
return Config().CACHE_RAIL_ID_ENABLED
|
||||
|
||||
|
||||
class EnvLoader:
|
||||
envs = []
|
||||
|
||||
@@ -25,7 +25,7 @@ class OCR:
|
||||
:return:
|
||||
"""
|
||||
self = cls()
|
||||
if Config().AUTO_CODE_PLATFORM == 'free':
|
||||
if Config().AUTO_CODE_PLATFORM == 'free' or Config().AUTO_CODE_PLATFORM == 'user':
|
||||
return self.get_image_by_free_site(img)
|
||||
return self.get_img_position_by_ruokuai(img)
|
||||
|
||||
@@ -58,7 +58,10 @@ class OCR:
|
||||
data = {
|
||||
'img': img
|
||||
}
|
||||
response = self.session.post(API_FREE_CODE_QCR_API, data=data, timeout=30)
|
||||
if Config().AUTO_CODE_PLATFORM == 'free':
|
||||
response = self.session.post(API_FREE_CODE_QCR_API, data=data, timeout=30)
|
||||
else:
|
||||
response = self.session.post(Config().API_USER_CODE_QCR_API, data=data, timeout=30)
|
||||
result = response.json()
|
||||
if result.get('msg') == 'success':
|
||||
pos = result.get('result')
|
||||
|
||||
@@ -197,10 +197,16 @@ class UserJob:
|
||||
if response.text.find('callbackFunction') >= 0:
|
||||
result = response.text[18:-2]
|
||||
result = json.loads(result)
|
||||
self.session.cookies.update({
|
||||
'RAIL_EXPIRATION': result.get('exp'),
|
||||
'RAIL_DEVICEID': result.get('dfp'),
|
||||
})
|
||||
if not Config().is_cache_rail_id_enabled():
|
||||
self.session.cookies.update({
|
||||
'RAIL_EXPIRATION': result.get('exp'),
|
||||
'RAIL_DEVICEID': result.get('dfp'),
|
||||
})
|
||||
else:
|
||||
self.session.cookies.update({
|
||||
'RAIL_EXPIRATION': Config().RAIL_EXPIRATION,
|
||||
'RAIL_DEVICEID': Config().RAIL_DEVICEID,
|
||||
})
|
||||
except:
|
||||
return False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user