事情经过如下,下午6点左右看社区有一个无法报单的帖子,为了演示正常,我在远程机登录并交易了一笔订单然后一直开着没管,刚才发现弹出了错误提示框,但主界面上行情依然在波动。
查看了出错的代码,应该是翻的不稳定导致的连接断开啥的,就是session请求出现了问题。然而,原始api代码中已经各种try了。所以才会使得主界面会在重连上后正常显示。
但是这个错误,已经被vnpy的错误引擎的拾取提示机制给拾取并弹出提醒导致(纯属猜测)。
错误代码如下:
Traceback (most recent call last):
File "d:\anaconda3\lib\site-packages\urllib3\contrib\pyopenssl.py", line 485, in wrap_socket
cnx.do_handshake()
File "d:\anaconda3\lib\site-packages\OpenSSL\SSL.py", line 1934, in do_handshake
self._raise_ssl_error(self._ssl, result)
File "d:\anaconda3\lib\site-packages\OpenSSL\SSL.py", line 1663, in _raise_ssl_error
raise SysCallError(errno, errorcode.get(errno))
OpenSSL.SSL.SysCallError: (10054, 'WSAECONNRESET')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 662, in urlopen
self._prepare_proxy(conn)
File "d:\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 948, in _prepare_proxy
conn.connect()
File "d:\anaconda3\lib\site-packages\urllib3\connection.py", line 360, in connect
ssl_context=context,
File "d:\anaconda3\lib\site-packages\urllib3\util\ssl_.py", line 370, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "d:\anaconda3\lib\site-packages\urllib3\contrib\pyopenssl.py", line 491, in wrap_socket
raise ssl.SSLError("bad handshake: %r" % e)
ssl.SSLError: ("bad handshake: SysCallError(10054, 'WSAECONNRESET')",)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\anaconda3\lib\site-packages\requests\adapters.py", line 449, in send
timeout=timeout
File "d:\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "d:\anaconda3\lib\site-packages\urllib3\util\retry.py", line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='fapi.binance.com', port=443): Max retries exceeded with url: /fapi/v1/listenKey?listenKey=加密字串 (Caused by SSLError(SSLError("bad handshake: SysCallError(10054, 'WSAECONNRESET')")))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\anaconda3\lib\site-packages\vnpy\api\rest\rest_client.py", line 262, in _process_request
proxies=self.proxies,
File "d:\anaconda3\lib\site-packages\requests\sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "d:\anaconda3\lib\site-packages\requests\sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "d:\anaconda3\lib\site-packages\requests\adapters.py", line 514, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='fapi.binance.com', port=443): Max retries exceeded with url: /fapi/v1/listenKey?listenKey=加密字串 (Caused by SSLError(SSLError("bad handshake: SysCallError(10054, 'WSAECONNRESET')")))