|
|
|
import requests
|
|
|
|
import os
|
|
|
|
|
|
|
|
r = requests.Session()
|
|
|
|
|
|
|
|
|
|
|
|
def login(user, passwd):
|
|
|
|
url = 'http://floor.huluxia.com/account/login/ANDROID/4.0?platform=2&gkey=000000&app_version=4.0.0.6.2' \
|
|
|
|
'&versioncode=20141433&market_id=floor_baidu&_key=&device_code=%5Bw%5D02%3A00%3A00%3A00%3A00%3A00 '
|
|
|
|
params = {
|
|
|
|
'account': user,
|
|
|
|
'login_type': '2',
|
|
|
|
'password': passwd
|
|
|
|
}
|
|
|
|
login_res = r.post(url=url, data=params)
|
|
|
|
login_res = login_res.json()
|
|
|
|
nick = login_res['user']['nick']
|
|
|
|
key = login_res['_key']
|
|
|
|
s_key = login_res['session_key']
|
|
|
|
return nick, key, s_key
|
|
|
|
|
|
|
|
|
|
|
|
def check(key):
|
|
|
|
url1 = 'http://floor.huluxia.com/user/status/ANDROID/2.1'
|
|
|
|
params = {
|
|
|
|
'platform': '2',
|
|
|
|
'gkey': '000000',
|
|
|
|
'app_version': '4.0.0.6.3',
|
|
|
|
'versioncode': '20141434',
|
|
|
|
'market_id': 'floor_baidu',
|
|
|
|
'_key': key,
|
|
|
|
'device_code': '%5Bw%5D02%3A00%3A00%3A00%3A00%3A00',
|
|
|
|
}
|
|
|
|
check_req = r.get(url=url1, params=params)
|
|
|
|
check_req = check_req.json()
|
|
|
|
status = check_req['status']
|
|
|
|
if status == 0:
|
|
|
|
raise Exception("令牌验证失败")
|
|
|
|
elif status == 1:
|
|
|
|
pass
|
|
|
|
return status
|
|
|
|
|
|
|
|
|
|
|
|
def category(key):
|
|
|
|
global experienceVal
|
|
|
|
titles = []
|
|
|
|
categoryIDs = []
|
|
|
|
category_url = 'http://floor.huluxia.com/category/list/ANDROID/2.0'
|
|
|
|
params = {
|
|
|
|
'platform': '2',
|
|
|
|
'gkey': '000000',
|
|
|
|
'app_version': '4.0.0.6.3',
|
|
|
|
'versioncode': '20141434',
|
|
|
|
'market_id': 'floor_huluxia',
|
|
|
|
'_key': key,
|
|
|
|
'device_code': '%5Bw%5D02%3A00%3A00%3A00%3A00%3A00',
|
|
|
|
'is_hidden': '1'
|
|
|
|
}
|
|
|
|
category_res = r.get(url=category_url, params=params)
|
|
|
|
category_res = category_res.json()
|
|
|
|
category_res = category_res["categories"]
|
|
|
|
for i in range(3, len(category_res)):
|
|
|
|
res = category_res[i]
|
|
|
|
titles.append(res['title'])
|
|
|
|
categoryIDs.append(res['categoryID'])
|
|
|
|
#print(res)
|
|
|
|
url = f'http://floor.huluxia.com/user/signin/ANDROID/4.0'
|
|
|
|
all_experienceVal = 0
|
|
|
|
for i in range(0, len(categoryIDs)):
|
|
|
|
IDS = str(categoryIDs[i])
|
|
|
|
params = {
|
|
|
|
'platform': '2',
|
|
|
|
'gkey': '000000',
|
|
|
|
'app_version': '4.0.0.6.3',
|
|
|
|
'versioncode': '20141434',
|
|
|
|
'market_id': 'floor_baidu',
|
|
|
|
'_key': key,
|
|
|
|
'device_code': '%5Bw%5D02%3A00%3A00%3A00%3A00%3A00',
|
|
|
|
'cat_id': IDS
|
|
|
|
}
|
|
|
|
try:
|
|
|
|
experienceVal = r.get(url=url, params=params).json()['experienceVal']
|
|
|
|
except:
|
|
|
|
experienceVal = 0
|
|
|
|
finally:
|
|
|
|
all_experienceVal = all_experienceVal + experienceVal
|
|
|
|
return '签到成功 共获得{}点经验'.format(all_experienceVal)
|
|
|
|
|
|
|
|
|
|
|
|
def hlx(user, passwd):
|
|
|
|
nick, key, s_key = login(user, passwd)
|
|
|
|
check(key)
|
|
|
|
return "用户名:" + nick + category(key)
|
|
|
|
|
|
|
|
|
|
|
|
def start():
|
|
|
|
scriptName = '葫芦侠签到'
|
|
|
|
print(scriptName)
|
|
|
|
if "hlx_username" in os.environ and "hlx_password" in os.environ:
|
|
|
|
print('已经在环境中找到用户名和密码,开始执行程序')
|
|
|
|
res = hlx(os.environ['hlx_username'], os.environ['hlx_password'])
|
|
|
|
result = 'notify ' + scriptName + ' ' + res
|
|
|
|
print(result)
|
|
|
|
|
|
|
|
else:
|
|
|
|
print('未找到用户名和密码停止执行')
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
start()
|