提交 75da2b8c 编写于 作者: X xianping.wen

修复查询302,version 1.1.109

上级 6d7728b5
......@@ -6,17 +6,16 @@
# 刷票模式:1=刷票 2=候补+刷票
TICKET_TYPE = 2
# 出发日期(list) "2018-01-06", "2018-01-07"
STATION_DATES = [
"2019-09-30"
"2019-09-20"
]
# 填入需要购买的车次(list),"G1353"
STATION_TRAINS = [
"",
"",
]
# 出发城市,比如深圳北,就填深圳就搜得到
FROM_STATION = ""
......@@ -46,7 +45,6 @@ IS_MORE_TICKET = True
# - "李四"
TICKET_PEOPLES = [
"",
"",
]
# 12306登录账号
......@@ -81,13 +79,12 @@ EMAIL_CONF = {
"host": "",
}
# 是否开启 server酱 微信提醒, 使用前需要前往 http://sc.ftqq.com/3.version 扫码绑定获取 SECRET 并关注获得抢票结果通知的公众号
SERVER_CHAN_CONF = {
"is_server_chan": False,
"secret": ""
# 是否开启 pushbear 微信提醒, 使用前需要前往 http://pushbear.ftqq.com 扫码绑定获取 send_key 并关注获得抢票结果通知的公众号
PUSHBEAR_CONF = {
"is_pushbear": False,
"send_key": ""
}
# 是否开启cdn查询,可以更快的检测票票 1为开启,2为关闭
IS_CDN = 1
......@@ -108,10 +105,11 @@ IS_PROXY = 0
# 预售放票时间, 如果是捡漏模式,可以忽略此操作
OPEN_TIME = "13:00:00"
# 1=使用selenium获取devicesID
# 2=使用网页端/otn/HttpZF/logdevice获取devicesId,这个接口的算法目前可能有点问题,如果登录一直302的请改为配置1
COOKIE_TYPE = 1
# 如果COOKIE_TYPE=1,则需配置chromeDriver路径,下载地址http://chromedriver.storage.googleapis.com/index.html
# 如果COOKIE_TYPE=2,则需配置chromeDriver路径,下载地址http://chromedriver.storage.googleapis.com/index.html
# chromedriver配置版本只要和chrome的大版本匹配就行
CHROME_PATH = "/Users/wenxianping/Downloads/chromedriver"
......@@ -128,4 +126,4 @@ PASSENGER_TICKER_STR = {
}
# 软件版本
RE_VERSION = "1.1.108"
RE_VERSION = "1.1.109"
......@@ -27,6 +27,7 @@ def getDrvicesID(session):
print(f"获取cookie: {cookies}")
if cookies:
session.httpClint.set_cookies(cookies)
session.cookies = cookies
print("cookie获取完成")
elif TickerConfig.COOKIE_TYPE is 2:
request_device_id(session)
......@@ -48,6 +49,10 @@ def request_device_id(session):
'RAIL_EXPIRATION': result.get('exp'),
'RAIL_DEVICEID': result.get('dfp'),
}])
session.cookies = [{
'RAIL_EXPIRATION': result.get('exp'),
'RAIL_DEVICEID': result.get('dfp'),
}]
except:
return False
......
......@@ -34,7 +34,7 @@ urls = {
"Referer": "https://kyfw.12306.cn/otn/resources/login.html",
"Host": "kyfw.12306.cn",
"Content-Type": 1,
"re_try": 2,
"re_try": 10,
"re_time": 1,
"s_time": 0.5,
"is_logger": True,
......
......@@ -128,7 +128,7 @@ class GoLogin:
login_num = 0
while True:
if loginConf(self.session):
self.auth()
# self.auth()
result = getPassCodeNewOrderAndLogin1(session=self.session, imgType="login")
if not result:
......
......@@ -41,7 +41,8 @@ class select:
self.urls = urlConf.urls
self.login = GoLogin(self, TickerConfig.IS_AUTO_CODE, self.auto_code_type)
self.cdn_list = []
self.queryUrl = "leftTicket/queryT"
self.cookies = ""
self.queryUrl = "leftTicket/queryA"
self.passengerTicketStrList = ""
self.passengerTicketStrByAfterLate = ""
self.oldPassengerStr = ""
......@@ -111,6 +112,7 @@ class select:
def cdn_req(self, cdn):
for i in range(len(cdn) - 1):
http = HTTPClient(0)
http.set_cookies(self.cookies)
urls = self.urls["loginInitCdn"]
http._cdn = cdn[i].replace("\n", "")
start_time = datetime.datetime.now()
......@@ -142,11 +144,11 @@ class select:
raise ticketConfigException(u"cdn列表为空,请先加载cdn")
def main(self):
self.cdn_certification()
l = liftTicketInit(self)
l.reqLiftTicketInit()
getDrvicesID(self)
self.call_login()
self.cdn_certification()
check_user = checkUser(self)
t = threading.Thread(target=check_user.sendCheckUser)
t.setDaemon(True)
......
......@@ -18,6 +18,7 @@ class query:
ticke_peoples_num, station_dates=None, ):
self.session = session
self.httpClint = HTTPClient(TickerConfig.IS_PROXY)
self.httpClint.set_cookies(self.session.cookies)
self.urls = urlConf.urls
self.from_station = from_station
self.to_station = to_station
......
# -*- coding: utf8 -*-
import json
import random
import socket
from collections import OrderedDict
from time import sleep
......@@ -14,7 +15,9 @@ def _set_header_default():
# header_dict["Accept"] = "application/json, text/plain, */*"
header_dict["Accept-Encoding"] = "gzip, deflate"
header_dict[
"User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
"User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0." + str(
random.randint(
5000, 7000)) + ".0 Safari/537.36"
header_dict["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8"
header_dict["Origin"] = "https://kyfw.12306.cn"
header_dict["Connection"] = "keep-alive"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册