我刚买了一台macbookpro,但有些python代码在Windows和Linux上运行得很好。这个问题出现在Rackspace's Flanker项目中。在
我把这个问题提炼成这个简短的测试脚本。在
import socket
host = 'gmail-smtp-in.l.google.com'
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(1.0)
s.connect((host, 25))
s.close()
这在Windows和Linux上运行良好(完成时没有输出),但是在我的Mac上引发了一个异常(超时)。我让一个朋友在他的Mac上运行这个程序,结果是同样的超时。在
^{pr2}$我想这可能是一个OSX网络配置问题。我使用的是python2.7.5,它在我的安装中是现成的,但是我也尝试过2.7.8。在
附加信息1:
Netcat(nc-vv gmail smtp in.l。谷歌25),根据admdrew的建议,结果如下。在
nc: connectx to gmail-smtp-in.l.google.com port 25 (tcp) failed: Operation timed out
nc: connectx to gmail-smtp-in.l.google.com port 25 (tcp) failed: No route to host
所以它当然不是python特有的。在
附加信息2:
我意识到我的linux虚拟机上的netcat和它的windows版本都失败了。所以我相信FIOS会封锁25号端口。所以问题就变成了“为什么Python的socket connect在Windows上成功了,而在osx上却失败了,而根据netcat的说法,端口25都被阻塞了?”在
谢谢大家的帮助。在
目前没有回答
相关问题 更多 >
编程相关推荐