首页 > 解决方案 > 为什么python版demo api的翻译api调用超时

问题描述

# Imports the Google Cloud client library
from google.cloud import translate

# Instantiates a client
translate_client = translate.Client()

# The text to translate
text = u'Hello, world!'

# The target language
target = 'ru'

# Translates some text into Russian
translation = translate_client.translate(
    text,
    target_language=target)
print(u'Text: {}'.format(text))
print(u'Translation: {}'.format(translation['translatedText']))

我使用python版本demo的google翻译api,发现translate_client.translate方法总是抛出超时异常,这是什么问题?方法调用时超时。

回溯(最后一次调用):文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\connectionpool.py”,第 600 行,在 urlopen chunked=chunked)文件“C:\ Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\connectionpool.py”,第 343 行,在 _make_request self._validate_conn(conn) 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib \site-packages\urllib3\connectionpool.py”,第 839 行,在 _validate_conn conn.connect() 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\connection.py”中,第 344 行,在连接 ssl_context=context) 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\util\ssl_.py”,第 344 行,在 ssl_wrap_socket 返回上下文中。wrap_socket(sock, server_hostname=server_hostname) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\ssl.py”,第 412 行,在 wrap_socket session=session 文件“C:\Users\Administrator \AppData\Local\Programs\Python\Python37\lib\ssl.py”,第 850 行,在 _create self.do_handshake() 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\ssl .py",第 1108 行,在 do_handshake self._sslobj.do_handshake() OSError: [Errno 0] 错误\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\ssl.py",第 1108 行,在 do_handshake self._sslobj.do_handshake() OSError: [Errno 0] 错误\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\ssl.py",第 1108 行,在 do_handshake self._sslobj.do_handshake() OSError: [Errno 0] 错误

在处理上述异常的过程中,又出现了一个异常:

Traceback(最近一次调用最后一次):文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\requests\adapters.py”,第 449 行,发送超时=超时文件“C:\Users \Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\connectionpool.py”,第 638 行,在 urlopen _stacktrace=sys.exc_info()[2]) 文件“C:\Users\Administrator\PycharmProjects\untitled5 \venv\lib\site-packages\urllib3\util\retry.py”,第 367 行,增量 raise Six.reraise(type(error), error, _stacktrace) 文件“C:\Users\Administrator\PycharmProjects\untitled5\ venv\lib\site-packages\urllib3\packages\six.py”,第 685 行,在 reraise raise value.with_traceback(tb) 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\ urllib3\connectionpool.py",第 600 行,在 urlopen chunked=chunked) 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\connectionpool.py”,第 343 行,在 _make_request self._validate_conn(conn) 文件“C:\ Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\connectionpool.py”,第 839 行,在 _validate_conn conn.connect() 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\ site-packages\urllib3\connection.py”,第 344 行,在连接 ssl_context=context)文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\urllib3\util\ssl_.py”,第 344 行,在 ssl_wrap_socket 返回 context.wrap_socket(sock, server_hostname=server_hostname) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\ssl.py”,第 412 行,在 wrap_socket session=session 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\ssl.py”,第 850 行,在 _create self.do_handshake() 文件“C:\Users\Administrator\ AppData\Local\Programs\Python\Python37\lib\ssl.py",第 1108 行,在 do_handshake self._sslobj.do_handshake() urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError(0, 'Error') )

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次通话最后):文件“C:/Users/Administrator/PycharmProjects/untitled5/translatetest.py”,第 15 行,在 print(u'Text: {}'.format(text)) 文件“C:\ Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\google\cloud\translate_v2\client.py",第 233 行,在翻译方法='POST',路径='',数据=数据)文件“C :\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\google\cloud_http.py",第 290 行,在 api_request headers=headers, target_object=_target_object) 文件“C:\Users\Administrator\PycharmProjects\untitled5 \venv\lib\site-packages\google\cloud_http.py",第 183 行,在 _make_request 返回 self._do_request(method, url, headers, data, target_object) 文件“C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\google\cloud_http.py",第 212 行,在 _do_request url=url,method=method,headers=headers,data=data) 文件“C:\ Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\google\auth\transport\requests.py",第 201 行,在请求方法中,url,data=data,headers=request_headers,**kwargs) 文件" C:\Users\Administrator\PycharmProjects\untitled5\venv\lib\site-packages\requests\sessions.py",第 533 行,在请求 resp = self.send(prep, **send_kwargs) 文件“C:\Users\ Administrator\PycharmProjects\untitled5\venv\lib\site-packages\requests\sessions.py”,第 646 行,在发送 r = adapter.send(request, **kwargs) 文件“C:\Users\Administrator\PycharmProjects\untitled5 \venv\lib\site-packages\requests\adapters.py",第 498 行,在发送中引发 ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', OSError(0, 'Error'))

标签: pythonapitimeouttranslation

解决方案


推荐阅读