mirror of
https://github.com/ngfchl/ptools
synced 2023-07-10 13:41:22 +08:00
测试U2签到,失败,明天继续
This commit is contained in:
@@ -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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user