先发一beta版本 解决返回为空的问题

pull/23/head
wenxianping 2018-01-23 17:48:09 +08:00
parent d214892525
commit 34456df151
2 changed files with 22 additions and 31 deletions

View File

@ -2,6 +2,7 @@
import datetime import datetime
import json import json
import socket import socket
from time import sleep
import requests import requests
@ -77,6 +78,7 @@ class HTTPClient(object):
def send(self, url, data=None, **kwargs): def send(self, url, data=None, **kwargs):
"""send request to url.If response 200,return response, else return None.""" """send request to url.If response 200,return response, else return None."""
allow_redirects = False
error_data = {"code": 99999, "data": ""} error_data = {"code": 99999, "data": ""}
if data: if data:
method = "post" method = "post"
@ -84,35 +86,24 @@ class HTTPClient(object):
else: else:
method = "get" method = "get"
self.resetHeaders() self.resetHeaders()
response = self._s.request(method=method, for i in range(10):
timeout=10, response = self._s.request(method=method,
url=url, timeout=10,
data=data, url=url,
**kwargs) data=data,
try: allow_redirects=allow_redirects,
if not response.content: **kwargs)
response = self._s.request(method=method, if response.status_code == 200:
timeout=10, try:
url=url, if response.content:
data=data, return json.loads(response.content) if method == "post" else response.content
**kwargs) else:
if response.content: return error_data
return json.loads(response.content) if method == "post" else response.content except (requests.exceptions.Timeout, requests.exceptions.ReadTimeout, requests.exceptions.ConnectionError) as e:
print e.message
return error_data
except socket.error as e:
print(e.message)
return error_data
else: else:
return error_data sleep(0.1)
except requests.exceptions.Timeout as e:
print e.message
return error_data
except requests.exceptions.ConnectionError as e:
print e.message
return error_data
except ValueError as e:
if e.message == "No JSON object could be decoded":
print("12306接口无响应正在重试")
return error_data
else:
print(e.message)
return error_data
except socket.error as e:
print(e.message)
return error_data

BIN
tkcode

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB