使用 Python 调用 Microsoft Cognitive Services Translator



我现在在python3中尝试Azure notebook中的以下代码 导入请求

# Getting the key from tab Keys on Azure portal
 key = "xxxxxxxxxxx" 

 url4authentication = 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'
 headers4authentication = {'Ocp-Apim-Subscription-Key': key}
 resp4authentication = requests.post(url4authentication,  headers=headers4authentication)
 token = resp4authentication.text
 print(token)
 text="hello there how are you"
 come = "en"
 to = "es"
 url4translate = 'https://api.microsofttranslator.com/v2/http.svc/Translate'
 from xml.etree import ElementTree
 response = requests.get('https://api.microsofttranslator.com/v2/http.svc', params = param)
 print(response)

我收到以下错误:

OSError                                   Traceback (most recent call last)
/home/nbuser/anaconda3_23/lib/python3.4/site-packages/requests/packages/urllib3/connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, **response_kw)
    587             if is_new_proxy_conn:
--> 588                 self._prepare_proxy(conn)
    589 
/home/nbuser/anaconda3_23/lib/python3.4/site-packages/requests/packages/urllib3/connectionpool.py in _prepare_proxy(self, conn)
    800 
--> 801         conn.connect()
    802 
/home/nbuser/anaconda3_23/lib/python3.4/site-packages/requests/packages/urllib3/connection.py in connect(self)
    290             # self._tunnel_host below.
--> 291             self._tunnel()
    292             # Mark this connection as not reusable
/home/nbuser/anaconda3_23/lib/python3.4/http/client.py in _tunnel(self)
    856             raise OSError("Tunnel connection failed: %d %s" % (code,
--> 857                                                                message.strip()))
    858         while True:
OSError: Tunnel connection failed: 403 Forbidden

作为参考,我建议首先您可以尝试参考我的答案,以获取来自 Python 中翻译 API 的其他类似 SO 线程响应Microsoft以解决您的问题。如果您还有其他顾虑,请随时告诉我。