先发一beta版本 解决返回为空的问题
parent
d214892525
commit
34456df151
|
@ -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
|
|
||||||
|
|
Loading…
Reference in New Issue