# 模拟登陆成功
|
|
import requests
|
import time
|
import json
|
import base64
|
|
|
import sys
|
sys.path.append('../')
|
import src.user.account_photo as account
|
|
def get_time():
|
# 毫秒妙级时间戳 13位数字
|
now_time = str(int(time.time()*1000))
|
return now_time
|
|
def get_photo_url(url):
|
return url + get_time()
|
|
|
|
def base64_api(img):
|
# 返回账号密码
|
uname,pwd = account.back_account_password()
|
with open(img, 'rb') as f:
|
base64_data = base64.b64encode(f.read())
|
b64 = base64_data.decode()
|
data = {"username": uname, "password": pwd, "typeid": 2, "image": b64}
|
result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)
|
if result['success']:
|
return result["data"]["result"]
|
else:
|
#!!!!!!!注意:返回 人工不足等 错误情况 请加逻辑处理防止脚本卡死 继续重新 识别
|
return result["message"]
|
return ""
|
|
|
|
def login_fume_web():
|
# 初始化session
|
session = requests.session()
|
session.headers = {
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
|
}
|
|
# 请求验证码地址
|
# 构造时间戳
|
# 拼接url
|
# 识别验证码
|
url_photo = get_photo_url('http://xhhb.senzly.cn/servlet/Vcode_new.serv?t=')
|
response = session.get(url_photo, verify=False) # 图片为二进制数据
|
image_data = response.content
|
with open('Vcode.jpg',mode='wb') as f:
|
f.write(image_data)
|
# 验证码结果
|
Vcode_result = base64_api('Vcode.jpg')
|
|
|
# 构造表单,发送表单
|
# 两次请求,保证是同一次发的
|
# cookeiJar = response.cookies
|
# cookies = cookeiJar.get_dict()
|
# print(cookies)
|
playload = {
|
"account": "9SUBjEeNy7nFMzk123",
|
"password": "6SUBIyusanb170e13a221a4cb58c66876006488504",
|
"vcode": Vcode_result
|
}
|
url_jump = 'http://xhhb.senzly.cn/cusLogin.php'
|
session.post(url_jump,data=playload,verify=False)
|
# 如何设置session的Cookie
|
cookieJar = session.cookies
|
cookies = cookieJar.get_dict()
|
print(cookies)
|
|
return session
|
# 个人验证
|