python - pricing - SSLError: no se puede conectar a la URL HTTPS porque el módulo SSL no está disponible en el motor de la aplicación de Google
google cloud (3)
Jan Dolejsi,
Si está utilizando los sockets de GAE, puede obtener soporte SSL sin ningún tipo de piratería simplemente cargando la biblioteca SSL.
Simplemente agregue esto a su archivo app.yaml:
bibliotecas: - nombre: ssl
- versión: última
Si está experimentando el error RAND_egd, simplemente cambie "-version: latest" en su app.yaml, a "-version: 2.7"!
¿Quieres usar wechat sdk para crear menú
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"
}]
}]
})
Actualmente no funciona debido a este error:
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.
El módulo de solicitud de Python se incluye en el proyecto del motor de aplicaciones. Utilizando python 2.7. Buscar formas de resolver este problema pero aún no he encontrado una manera clara de resolver el problema
Si está utilizando los sockets de GAE, puede obtener soporte SSL sin ningún tipo de piratería simplemente cargando la biblioteca SSL.
Simplemente agregue esto a su archivo app.yaml:
libraries:
- name: ssl
version: latest
Esto está documentado en la documentación de soporte de OpenSSL de Google Cloud.
Esta entrada de blog detalla una solución . De la entrada del blog:
El problema es que GAE tiene una "lista blanca" de bibliotecas estándar seleccionadas. SSL (_ssl, _socket) no es uno de ellos. Por lo tanto, tenemos que ajustar el entorno de la caja de arena (peligroso) con cuidado. El código siguiente utiliza la biblioteca de socket estándar de Python en lugar del GAE proporcionado en el entorno de desarrollo. Modificar [o crear] appengine_config.py:
import os
# Workaround the dev-environment SSL
# http://.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)