diff --git a/hlx.py b/hlx.py index e69de29..e412245 100644 --- a/hlx.py +++ b/hlx.py @@ -0,0 +1,107 @@ +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']) + 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 + '\n' + 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 + os.system(result) + else: + print('未找到用户名和密码停止执行') + +if __name__ == '__main__': + start()