Skip to content

Commit 7a9b27a

Browse files
committed
update
1 parent 2d90988 commit 7a9b27a

File tree

3 files changed

+120
-8
lines changed

3 files changed

+120
-8
lines changed

clock_sign.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
#!/usr/bin/env python
2+
# -*- encoding: utf-8 -*-
3+
# @Author : https://www.bajins.com
4+
# @Description :
5+
# @File : clock_sign.py
6+
# @Version: 1.1.0
7+
# @Time : 2020/7/26 11:00
8+
# @Project: scripts_python
9+
# @Package:
10+
# @Software: PyCharm
11+
12+
"""
13+
在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录中创建一个network-reconnect.vbs文件,
14+
把以下代码复制到其中并保存
15+
16+
Set Shell = CreateObject("WScript.Shell")
17+
Shell.Run "python clock_sign.py", 0, False
18+
"""
19+
20+
import datetime
21+
import re
22+
import sched
23+
import time
24+
25+
import requests
26+
27+
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)" \
28+
" Chrome/77.0.3865.75 Safari/537.36 "
29+
# 去除警告
30+
requests.packages.urllib3.disable_warnings()
31+
# 如果请求失败默认重试次数
32+
requests.adapters.DEFAULT_RETRIES = 5
33+
34+
35+
def set_time(scheduler):
36+
# 延后1天的凌晨0点
37+
timestamp = (datetime.datetime.now() + datetime.timedelta(days=1)).replace(
38+
hour=0, minute=0, second=0, microsecond=0).timestamp()
39+
# 设置运行时间
40+
scheduler.enterabs(timestamp, 0, run)
41+
42+
43+
def run(range=1):
44+
if range == 10: # 运行到第10次
45+
set_time(scheduler)
46+
return
47+
res = requests.get("https://www.baidu.com",
48+
headers={"User-Agent": USER_AGENT}, verify=False, timeout=600)
49+
if res.status_code != 200 or res is None:
50+
login()
51+
print(res.status_code)
52+
scheduler.enter(60, 0, run, (range + 1,)) # 1分钟后再次运行
53+
54+
55+
def login():
56+
session = requests.sessions.Session()
57+
# 关闭多余的连接
58+
session.keep_alive = False
59+
session.headers["User-Agent"] = USER_AGENT
60+
session.verify = False
61+
session.timeout = 600
62+
res = session.get(
63+
"http://192.168.10.253:8080/smsauth/3/pc.php?params=pwd&force_modify_password=") # 登录页面
64+
cookie = ''
65+
for name, value in session.cookies.items():
66+
cookie += '{0}={1}'.format(name, value)
67+
session.headers["Referer"] = res.url
68+
session.headers["Cookie"] = cookie
69+
res = session.get(
70+
"http://192.168.10.253:8080/login_check_password_ageout.php?username=temp004&passwd=temp004") # 登录验证
71+
res = session.get(session.headers["Referer"]) # 再次请求登录页面
72+
res = session.post("http://192.168.10.253:8080/cgi-bin/ace_web_auth.cgi?web_jumpto=&orig_referer="
73+
"&username=temp004&userpwd=temp004&login_page=",
74+
data={"username": "temp004", "userpwd": "temp004"}) # 获取登录验证token
75+
search = re.search("location = \"(.*)\"", res.text, re.I | re.M)
76+
if search:
77+
# http://192.168.10.253:8080/login_online_detail.php?show_portal=1&force_modify_password=0&orig_referer=&login_page=
78+
res = session.get("http://192.168.10.253:8080" + search.group(1)) # 通过token验证,并跳转到登录成功页面
79+
# 注销 http://192.168.10.253:8080/cgi-bin/ace_web_auth.cgi?logout=1&login_page=
80+
print(res.status_code)
81+
82+
83+
if __name__ == '__main__':
84+
# import win32api, win32gui
85+
86+
# ct = win32api.GetConsoleTitle()
87+
# hd = win32gui.FindWindow(0, ct)
88+
# win32gui.ShowWindow(hd, 0)
89+
# 设置时间调度器
90+
scheduler = sched.scheduler(time.time, time.sleep)
91+
set_time(scheduler)
92+
# 运行函数
93+
scheduler.run()

constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
# 当前文件所在目录路径
2626
CURRENT_PATH = os.path.dirname(__file__)
2727

28+
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " \
29+
"Chrome/77.0.3865.75 Safari/537.36 "
30+
2831
# 缓存目录路径
2932
TEMP_PATH = sys.path[1]
3033

utils/http_util.py

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,31 @@
2020
import requests
2121
import urllib3
2222

23-
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " \
24-
"Chrome/77.0.3865.75 Safari/537.36 "
2523

2624
# 去除警告
25+
import constants
26+
2727
requests.packages.urllib3.disable_warnings()
2828
# 如果请求失败默认重试次数
2929
requests.adapters.DEFAULT_RETRIES = 5
3030

3131

32+
def get_session():
33+
"""
34+
获取session
35+
:param url:请求地址
36+
:param data:数据,map或dict格式
37+
:return:
38+
"""
39+
session = requests.sessions.Session()
40+
# 关闭多余的连接
41+
session.keep_alive = False
42+
session.headers["User-Agent"] = constants.USER_AGENT
43+
session.verify = False
44+
session.timeout = 600
45+
return session
46+
47+
3248
def get(url, data=None):
3349
"""
3450
get请求
@@ -39,7 +55,7 @@ def get(url, data=None):
3955
session = requests.sessions.Session()
4056
# 关闭多余的连接
4157
session.keep_alive = False
42-
return session.get(url, params=data, headers={"User-Agent": USER_AGENT}, verify=False, timeout=600)
58+
return session.get(url, params=data, headers={"User-Agent": constants.USER_AGENT}, verify=False, timeout=600)
4359

4460

4561
def post(url, data):
@@ -49,7 +65,7 @@ def post(url, data):
4965
:param data:数据,map或dict格式
5066
:return:
5167
"""
52-
return requests.post(url, data, headers={"User-Agent": USER_AGENT}, verify=False, timeout=600)
68+
return requests.post(url, data, headers={"User-Agent": constants.USER_AGENT}, verify=False, timeout=600)
5369

5470

5571
def delete(url, data):
@@ -59,7 +75,7 @@ def delete(url, data):
5975
:param data:数据,map或dict格式
6076
:return:
6177
"""
62-
return requests.delete(url=url, params=data, headers={"User-Agent": USER_AGENT}, verify=False, timeout=600)
78+
return requests.delete(url=url, params=data, headers={"User-Agent": constants.USER_AGENT}, verify=False, timeout=600)
6379

6480

6581
def get_json(url, data):
@@ -101,7 +117,7 @@ def download_big_file_urlib(url, mkdir, name=""):
101117

102118
req = Request(url)
103119
# 增加header头信息
104-
req.add_header('User-Agent', USER_AGENT)
120+
req.add_header('User-Agent', constants.USER_AGENT)
105121

106122
response = urlopen(req)
107123
while True:
@@ -143,7 +159,7 @@ def download_big_file(url, mkdir, name=""):
143159
name = os.path.join(mkdir, name)
144160

145161
start_time = time.time()
146-
req = requests.get(url, stream=True, headers={"User-Agent": USER_AGENT}, verify=False)
162+
req = requests.get(url, stream=True, headers={"User-Agent": constants.USER_AGENT}, verify=False)
147163
with req as r:
148164
content_length = int(r.headers['content-length'])
149165
print(name, 'content-length: %dB/%.2fKB/%.2fMB' % (
@@ -190,7 +206,7 @@ def download_file(url, mkdir, name=""):
190206
# 判断文件是否存在
191207
# if not os.path.exists(name):
192208
if not os.path.isfile(name):
193-
with requests.get(url, headers={"User-Agent": USER_AGENT}, verify=False, timeout=600) as req:
209+
with requests.get(url, headers={"User-Agent": constants.USER_AGENT}, verify=False, timeout=600) as req:
194210
with open(name, "wb") as f:
195211
f.write(req.content)
196212
return name

0 commit comments

Comments
 (0)