From 4430cd6ff871f1cdffc968a8e3e290a3e1b6c477 Mon Sep 17 00:00:00 2001 From: wenxianping <931128603@qq.com> Date: Wed, 10 Jan 2018 09:42:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=8C=E7=AD=89=E5=BA=A7?= =?UTF-8?q?=E7=9A=84=E4=BD=99=E7=A5=A8=E6=95=B0=E8=BF=94=E5=9B=9E=E4=B8=BA?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E7=9A=84=E9=97=AE=E9=A2=98=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- init/select_ticket_info.py | 18 ++++++------- myUrllib/httpUtils.py | 54 +++++++++++++++++++++++++++++++++++++ tkcode | Bin 12930 -> 15527 bytes 3 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 myUrllib/httpUtils.py diff --git a/init/select_ticket_info.py b/init/select_ticket_info.py index b1bcb02..6defe99 100644 --- a/init/select_ticket_info.py +++ b/init/select_ticket_info.py @@ -423,21 +423,21 @@ class select: if "status" in getQueueCountResult and getQueueCountResult["status"] is True: if "countT" in getQueueCountResult["data"]: ticket = getQueueCountResult["data"]["ticket"] - ticket_split = ticket.split(",")[1] if ticket.find(",") != -1 else ticket - if set_type == "无座": # 修改无座和硬座的座位号提交是个字符串的问题 - ticket = ticket_split[1] - elif set_type == "硬座": - ticket = ticket_split[0] + ticket_split = sum(ticket.split(",")) if ticket.find(",") != -1 else ticket + # if set_type == "无座": # 修改无座和硬座的座位号提交是个字符串的问题 + # ticket = ticket_split[1] + # elif set_type == "硬座": + # ticket = ticket_split[0] countT = getQueueCountResult["data"]["countT"] if int(countT) is 0: - if int(ticket) < len(self.user_info): + if int(ticket_split) < len(self.user_info): print("当前余票数小于乘车人数,放弃订票") else: - print("排队成功, 当前余票还剩余:" + ticket + "张") + print("排队成功, 当前余票还剩余:" + ticket_split + "张") if self.checkQueueOrder(): return True else: - print("当前排队人数:" + str(countT) + "当前余票还剩余:" + getQueueCountResult["data"]["ticket"]+ "张,继续排队中") + print("当前排队人数:" + str(countT) + "当前余票还剩余:" + ticket_split + "张,继续排队中") else: print("排队发现未知错误{0},将此列车 {1}加入小黑屋".format(getQueueCountResult, train_no)) self.ticket_black_list[train_no] = datetime.datetime.now() @@ -543,7 +543,7 @@ class select: if "data" in queryMyOrderNoCompleteResult and queryMyOrderNoCompleteResult["data"] and "orderDBList" in queryMyOrderNoCompleteResult["data"] and queryMyOrderNoCompleteResult["data"]["orderDBList"]: orderId = queryMyOrderNoCompleteResult["data"]["orderDBList"][0]["sequence_no"] return orderId - elif "orderCacheDTO" in queryMyOrderNoCompleteResult["data"] and queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]: + elif "data" in queryMyOrderNoCompleteResult and "orderCacheDTO" in queryMyOrderNoCompleteResult["data"] and queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]: if "message" in queryMyOrderNoCompleteResult["data"]["orderCacheDTO"] and queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]["message"]: print(queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]["message"]["message"]) raise ticketNumOutException(queryMyOrderNoCompleteResult["data"]["orderCacheDTO"]["message"]["message"]) diff --git a/myUrllib/httpUtils.py b/myUrllib/httpUtils.py new file mode 100644 index 0000000..e0f6504 --- /dev/null +++ b/myUrllib/httpUtils.py @@ -0,0 +1,54 @@ +# -*- coding: utf8 -*- +import datetime +import requests + + +class HTTPClient(object): + + def __init__(self): + """ + :param method: + :param headers: Must be a dict. Such as headers={'Content_Type':'text/html'} + """ + self.session = requests.session() + self._set_header() + + def _set_header(self): + """设置header""" + add_header = { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8", + "X-Requested-With": "xmlHttpRequest", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36", + "Referer": "https://kyfw.12306.cn/otn/login/init", + "Accept": "*/*", + } + self.session.headers.update(add_header) + + def get(self, url, proxy=None, **kwargs): + if proxy: + proxies = {"http": proxy} + else: + proxies = "" + response = self.session.request(method="GET", + url=url, + proxies=proxies, + **kwargs) + if response.status_code == 200: + return response.content + else: + print("请求失败。{0}".format(response)) + + def post(self, url, data=None, proxy=None, **kwargs): + if proxy: + proxies = {"http": proxy} + else: + proxies = "" + response = self.session.request(method="POST", + url=url, + data=data, + proxies=proxies, + **kwargs) + if response.status_code == 200: + return response.content + else: + print("请求失败。{0}".format(response)) \ No newline at end of file diff --git a/tkcode b/tkcode index 164ba7778b874a479728e9bf54afcc739f213844..5f1fef3574d211aec54f24bf3781da0f7988a93c 100644 GIT binary patch delta 14453 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 Ln?aBB*x3IU;8}S< delta 11704 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 SE182<2aEY9=xH7s`~Lwbt@%6v