在Google AppEngine开发中打开APNS套接字时权限被拒绝错误
我正在尝试让我的应用引擎服务器发送APNS通知,为此我使用了从一个项目中得到的模板代码(这个项目说是可以工作的,所以应该没问题): https://github.com/GarettRogers/appengine-apns-gcm
目前,我想在本地开发环境中让这个功能正常工作。
当我实际尝试打开套接字时,出现了下面的错误信息。
我猜可能是应用引擎需要sudo权限才能这样做(我在用mac)。如果是这样的话,有人知道我怎么才能让应用引擎以sudo权限运行吗?
如果不是的话,有人能告诉我问题出在哪里,以及怎么解决吗?
谢谢。
File "/Users/xxx/Downloads/XXX/ssl.py", line 392, in wrap_socket
ciphers=ciphers)
File "/Users/xxx/Downloads/XXX/ssl.py", line 114, in __init__
if sock.getsockopt(SOL_SOCKET, SO_TYPE) != SOCK_STREAM:
File "/Users/xxx/Desktop/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/dist27/socket.py", line 222, in meth
return getattr(self._sock,name)(*args)
INFO 2014-04-15 19:42:02,488 module.py:627] default: "POST /content/create_action HTTP/1.1" 500 228
File "/Users/xxx/Desktop/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/remote_socket/_remote_socket.py", line 1112, in getsockopt
raise _SystemExceptionFromAppError(e)
error: [Errno 13] Permission denied
2 个回答
1
我通过以下方式解决了这个问题:
pip install requests-toolbelt -t lib
然后添加:
from requests_toolbelt.adapters import appengine
appengine.monkeypatch()
1
按照这个方法操作:“ImportError: No module named _ssl”在使用Google App Engine的dev_appserver.py时出现
这个问题和答案已经解释得很清楚了,我就不详细说了。这是一个长期存在的SDK缺陷,这个手动的方法可以修复它,但每次更新SDK的时候都需要重新应用这个方法。