首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SSLError:无法连接到HTTPS URL,因为SSL模块在google应用引擎上不可用

SSLError:无法连接到HTTPS URL,因为SSL模块在google应用引擎上不可用
EN

Stack Overflow用户
提问于 2015-05-22 02:26:24
回答 3查看 26.9K关注 0票数 21

我想使用wechat sdk创建菜单

代码语言:javascript
复制
WeChat.create_menu({
     "button":[
     {    
          "type":"click",
          "name":"Daily Song",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "type":"click",
           "name":" Artist Profile",
           "key":"V1001_TODAY_SINGER"
      },
      {
           "name":"Menu",
           "sub_button":[
           {    
               "type":"view",
               "name":"Search",
               "url":"http://www.soso.com/"
            },
            {
               "type":"view",
               "name":"Video",
               "url":"http://v.qq.com/"
            },
            {
               "type":"click",
               "name":"Like us",
               "key":"V1001_GOOD"
            }]
       }]
 })

由于此错误,当前无法工作:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 267, in Handle
    result = handler(dict(self._environ), self._StartResponse)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1519, in __call__
    response = self._internal_error(e)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1511, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1077, in __call__
    return handler.dispatch()
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechatAPIHandler.py", line 72, in post
    "key":"V1001_GOOD"
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 355, in create_menu
    data=menu_data
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 949, in _post
    **kwargs
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 907, in _request
    "access_token": self.access_token,
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 849, in access_token
    self.grant_token()
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 273, in grant_token
    "secret": self.__appsecret,
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 935, in _get
    **kwargs
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/wechat_sdk/basic.py", line 917, in _request
    **kwargs
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/base/data/home/apps/s~project-boom/1.384461758981660124/requests/adapters.py", line 431, in send
    raise SSLError(e, request=request)
SSLError: Can't connect to HTTPS URL because the SSL module is not available.

python请求模块包含在应用引擎项目中。使用python 2.7。正在寻找解决这个问题的方法,但还没有找到非常明确的解决方法

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-07 22:19:15

如果您使用的是GAE的Sockets,则只需加载SSL库即可获得SSL支持。

只需将以下代码添加到您的app.yaml文件中:

代码语言:javascript
复制
libraries:
- name: ssl
  version: latest

这在Google Cloud's OpenSSL Support documentation.上有文档记录

票数 42
EN

Stack Overflow用户

发布于 2015-06-03 23:22:17

This blog post details a solution。从博客文章中可以看到:

的问题是GAE有一份精选标准库的“白名单”。SSL (_ssl,_socket)不在其中。因此,我们需要小心地调整沙箱环境(危险的)。下面的代码使用标准的Python套接字库,而不是开发环境中提供的GAE。修改或创建appengine_config.py:

代码语言:javascript
复制
import os

# Workaround the dev-environment SSL
#   http://stackoverflow.com/q/16192916/893652
if os.environ.get('SERVER_SOFTWARE', '').startswith('Development'):
    import imp
    import os.path
    from google.appengine.tools.devappserver2.python import sandbox

    sandbox._WHITE_LIST_C_MODULES += ['_ssl', '_socket']
    # Use the system socket.
    psocket = os.path.join(os.path.dirname(os.__file__), 'socket.py')
    imp.load_source('socket', psocket)
票数 12
EN

Stack Overflow用户

发布于 2017-11-11 04:13:41

Jan Dolejsi

如果您使用的是GAE的Sockets,您可以通过简单地加载

库来获得support。

只需将以下代码添加到您的app.yaml文件中:

库:-名称:ssl

  • 版本: latest

如果你遇到最新错误,只需在你的app.yaml中将"-version: RAND_egd“改为"-version: 2.7"!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30381581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档