gpt4 book ai didi

google-app-engine - 使用请求 python 库在 Google App Engine 中发送 HTTPS 请求

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:10 27 4
gpt4 key购买 nike

标题几乎概括了它,我正在像这样向谷歌翻译 api 发出请求:

    payload = {"key":translate_api_key, "q":str(sentence)}
try:
api_response = requests.get("https://www.googleapis.com/language/translate /v2/detect", params=payload)

except Exception, e:
print e

这正常工作正常(我的意思是只是在我的桌面上将它作为脚本运行)但是在谷歌应用引擎服务器上我得到这个响应:

{u'error': {u'message': u'SSL is required to perform this operation.', u'code': 403, u'errors': [{u'message': u'SSL is required to perform this operation.', u'domain': u'global', u'reason': u'sslRequired'}]}}

我该如何解决这个问题?

编辑:似乎请求的 https 不能很好地与 GAE 配合使用。使用 urlfetch 和 urllib 似乎可以解决这个问题。

payload = dict(key=translate_api_key, q=sentence) 
payload = urllib.urlencode(payload)
url = "https://www.googleapis.com/language/translate/v2/detect?"
api_response = urlfetch.fetch(url+payload)

最佳答案

我没有使用过 requests 库的经验,但可能是它没有在 App Engine 上完全实现。

App Engine 上的首选方法是使用 urlfetch

from google.appengine.api import urlfetch

url = "https://www.googleapis.com/language/translate/v2/detect"

payload = {"key":translate_api_key, "q":str(sentence)}

result = urlfetch.fetch(url=url, payload=payload)
if result.status_code == 200:
api_response = result.content

关于google-app-engine - 使用请求 python 库在 Google App Engine 中发送 HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24043784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com