测试U2签到,失败,明天继续

This commit is contained in:
ngfchl
2022-09-20 16:58:50 +08:00
parent 9ac89d930e
commit f08c220440

View File

@@ -1,5 +1,6 @@
import json
import logging
import random
import re
import threading
import time
@@ -366,6 +367,58 @@ class PtSpider:
msg=site.name + (' 信息导入成功!' if result[1] else ' 信息更新成功! ') + passkey_msg
)
def sign_in_u2(self, my_site: MySite):
site = my_site.site
try:
url = site.url + site.page_sign_in.lstrip('/')
result = self.send_request(
my_site=my_site,
url=url,
)
req = self.parse(result, '//form//td/input[@name="req"]/@value')
hash_str = self.parse(result, '//form//td/input[@name="hash"]/@value')
form = self.parse(result, '//form//td/input[@name="form"]/@value')
submit_name = self.parse(result, '//form//td/input[@type="submit"]/@name')
submit_value = self.parse(result, '//form//td/input[@type="submit"]/@value')
message = site.sign_in_params if len(site.sign_in_params) >= 5 else '天空飘来五个字儿,幼儿园里没有事儿'
print(submit_name)
print(submit_value)
headers = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
}
params = []
for name, value in zip(submit_name, submit_value):
params.append({
name: value
})
data = {
'req': req[0],
'hash': hash_str[0],
'form': form[0],
'message': message,
}
i = random.randint(0, 3)
param = '&message={}&req={}&hash={}&form={}&{}={}'.format(
message, req, hash_str, form, submit_name[i], submit_value[i])
data.update(params[random.randint(0, 3)])
print(data)
response = self.send_request(
my_site,
url=site.url + '?action=show',
method=site.sign_in_method,
headers=headers,
data=data
)
print(response.content.decode('utf8'))
return CommonResponse.success(data=response)
except Exception as e:
raise
return CommonResponse.success(
status=StatusCodeEnum.WEB_CONNECT_ERR,
msg=site.name + str(e)
)
def sign_in_hdsky(self, my_site: MySite, captcha=False):
"""HDSKY签到"""
site = my_site.site
@@ -520,6 +573,16 @@ class PtSpider:
signin_today.sign_in_info = result.msg
signin_today.save()
return result
if 'u2.dmhy.org' in site.url:
result = self.sign_in_u2(my_site)
if result.code == StatusCodeEnum.OK.code:
print(result.data)
return CommonResponse.success(
status=StatusCodeEnum.OK,
msg='签到成功!'
)
else:
return result
if 'hdsky.me' in site.url:
result = self.sign_in_hdsky(my_site=my_site, captcha=site.sign_in_captcha)
if result.code == StatusCodeEnum.OK.code:
@@ -671,7 +734,7 @@ class PtSpider:
else:
return CommonResponse.error(msg='请确认签到是否成功??网页返回码:' + str(res.status_code))
except Exception as e:
# raise
raise
self.send_text(site.name + '签到失败!原因:' + str(e))
return CommonResponse.error(msg='签到失败!' + str(e))