【发布时间】:2013-03-26 15:30:53
【问题描述】:
我需要帮助。
两周前这样的代码没有问题并测试了IPv6地址的端口,但现在突然抛出异常:
错误:[Errno 10051] 尝试对无法访问的网络执行套接字操作。
代码:
print "IPv4 connection..."
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect(('173.194.70.101', 80))
s.shutdown(2)
print "Success connection"
except socket.error as e:
sys.stderr.write("Error: " + str(e))
print "Cannot connect"
print "IPv6 connection..."
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
try:
s.connect(('2a00:1450:4001:c02:0:0:0:8b', 80))
s.shutdown(2)
print "Success connection"
except socket.error as e:
sys.stderr.write("Error: " + str(e))
print "Cannot connect"
控制台:
IPv4 connection...
Success connection
IPv6 connection...
Cannot connect
Error: [Errno 10051] A socket operation was attempted to an unreachable network
【问题讨论】:
-
您有可用的 IPv6 连接吗?
-
ping 说什么?你能telnet到服务器上的一个端口吗?听起来像是路由/防火墙问题。
-
有些防火墙有防锤击保护。您尝试连接的频率如何?