我正在尝试最终将此项目连接到amazon ec2 redis服务器,但我似乎无法使套接字工作。根据{{3}}所有我需要的是我的帐户上的卡,我可以在谷歌应用服务器上使用套接字。
main.py:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('www.google.com', 80))
s.send('GET / HTTP/1.1\r\n\r\n')
website = s.recv(1000)
self.response.write(website)
这是我在应用日志中收到的错误。
File "/base/data/home/apps/s~optimum-spring-544/1.374990298217149603/main.py", line 3, in <module>
s.connect(('www.google.com', 80))
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/socket.py", line 222, in meth
return getattr(self._sock,name)(*args)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/remote_socket/_remote_socket.py", line 751, in connect
address_hostname_hint=_hostname_hint)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/remote_socket/_remote_socket.py", line 610, in _CreateSocket
raise _SystemExceptionFromAppError(e)
error: [Errno 13] Permission denied
我做错了吗?在我被允许访问之前,我是否应该等待在我的应用上检查“结算”? 感谢您提供任何帮助或建议。
答案 0 :(得分:4)
您是否阅读了套接字支持文档中的限制?
除了需要启用结算功能外,还明确说明了
Private, broadcast, multicast, and Google IP ranges (except those whitelisted below), are blocked:
Google Public DNS: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 port 53
Gmail SMTPS: smtp.gmail.com port 465 and 587
Gmail POP3S: pop.gmail.com port 995
Gmail IMAPS: imap.gmail.com port 993
www.google.com上的端口80不在此白名单中。