OS X Mavericks上的Python套接字连接超时

2024-09-28 22:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚买了一台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都被阻塞了?”在

谢谢大家的帮助。在


Tags: toincom信息hostlinuxwindowsmac