mirror of https://github.com/testerSunshine/12306
登录验证码增加随机数
parent
41695e1d55
commit
01f728c47e
|
@ -233,7 +233,7 @@ urls = {
|
|||
"is_json": True,
|
||||
},
|
||||
"codeImgByOrder": { # 订单页面验证码
|
||||
"req_url": "/otn/passcodeNew/getPassCodeNew?module=passenger&rand=randp&%s" % random.random(),
|
||||
"req_url": "/otn/passcodeNew/getPassCodeNew?module=passenger&rand=randp&{}",
|
||||
"req_type": "post",
|
||||
"Referer": "https://kyfw.12306.cn/otn/confirmPassenger/initDc",
|
||||
"Host": "kyfw.12306.cn",
|
||||
|
|
|
@ -115,7 +115,8 @@ class GoLogin:
|
|||
raise UserPasswordException(u"温馨提示: 用户名或者密码为空,请仔细检查")
|
||||
login_num = 0
|
||||
while True:
|
||||
getPassCodeNewOrderAndLogin(session=self.session, imgType="login")
|
||||
if not getPassCodeNewOrderAndLogin(session=self.session, imgType="login"):
|
||||
continue
|
||||
self.randCode = getRandCode(self.is_auto_code, self.auto_code_type)
|
||||
login_num += 1
|
||||
self.auth()
|
||||
|
|
|
@ -235,9 +235,11 @@ class select:
|
|||
self.station_dates),
|
||||
",".join(
|
||||
self.station_trains),
|
||||
(datetime.datetime.now() - start_time).microseconds / 1000,
|
||||
(
|
||||
datetime.datetime.now() - start_time).microseconds / 1000,
|
||||
self.httpClint.cdn,
|
||||
len(self.cdn_list),
|
||||
len(
|
||||
self.cdn_list),
|
||||
random_time)
|
||||
except PassengerUserException as e:
|
||||
print e.message
|
||||
|
@ -268,4 +270,4 @@ class select:
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
pass
|
||||
|
|
|
@ -115,8 +115,8 @@ class autoSubmitOrderRequest:
|
|||
else:
|
||||
print(ticket.AUTO_SUBMIT_ORDER_REQUEST_F)
|
||||
if autoSubmitOrderRequestResult.get("messages", ""):
|
||||
print(autoSubmitOrderRequestResult.get("messages", ""))
|
||||
print("".join(autoSubmitOrderRequestResult.get("messages", "")))
|
||||
elif autoSubmitOrderRequestResult.get("validateMessages", ""):
|
||||
print(autoSubmitOrderRequestResult.get("validateMessages", ""))
|
||||
print("".join(autoSubmitOrderRequestResult.get("validateMessages", "")))
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
# coding=utf-8
|
||||
import copy
|
||||
import random
|
||||
import time
|
||||
|
||||
|
||||
def getPassCodeNewOrderAndLogin(session, imgType):
|
||||
|
@ -9,14 +12,21 @@ def getPassCodeNewOrderAndLogin(session, imgType):
|
|||
:return:
|
||||
"""
|
||||
if imgType == "login":
|
||||
codeImgUrl = session.urls["getCodeImg"]
|
||||
codeImgUrl = copy.deepcopy(session.urls["getCodeImg"])
|
||||
codeImgUrl["req_url"] = codeImgUrl["req_url"].format(random.random())
|
||||
else:
|
||||
codeImgUrl = session.urls["codeImgByOrder"]
|
||||
codeImgUrl = copy.deepcopy(session.urls["codeImgByOrder"])
|
||||
codeImgUrl["req_url"] = codeImgUrl["req_url"].format(random.random())
|
||||
print (u"下载验证码...")
|
||||
img_path = './tkcode'
|
||||
result = session.httpClint.send(codeImgUrl)
|
||||
try:
|
||||
print(u"下载验证码成功")
|
||||
open(img_path, 'wb').write(result)
|
||||
if isinstance(result, dict):
|
||||
print(u"下载验证码失败, 请手动检查是否ip被封,或者重试,请求地址:{}".format(codeImgUrl))
|
||||
return False
|
||||
else:
|
||||
print(u"下载验证码成功")
|
||||
open(img_path, 'wb').write(result)
|
||||
return True
|
||||
except OSError:
|
||||
print (u"验证码下载失败,可能ip被封,确认请手动请求: {0}".format(codeImgUrl))
|
||||
|
|
Loading…
Reference in New Issue