OSX小牛上的Python套接字连接超时

OSX小牛上的Python套接字连接超时,python,macos,osx-mavericks,Python,Macos,Osx Mavericks,我刚买了一台Macbook Pro,我在使用一些在Windows和Linux上运行良好的python代码时遇到了问题。这个问题出现在这个项目中 我已经将这个问题提炼成这个简短的测试脚本 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() 这

我刚买了一台Macbook Pro,我在使用一些在Windows和Linux上运行良好的python代码时遇到了问题。这个问题出现在这个项目中

我已经将这个问题提炼成这个简短的测试脚本

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上运行这个程序,结果也是一样的超时

Traceback (most recent call last):

  File "test.py", line 11, in <module>

    s.connect((host, 25))

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 224, in meth

    return getattr(self._sock,name)(*args)

socket.timeout: timed out
所以它肯定不是python特有的


其他信息2:

我意识到我的linux虚拟机上的netcat和它的windows版本都失败了。所以我确信FIOS正在阻塞端口25。所以问题就变成了,“为什么Python的socket connect在Windows上成功了,但在OS X上失败了,而根据netcat的说法,端口25在Windows和OS X上都被阻塞了?”


谢谢大家的帮助。

当您尝试在OSX中将netcat连接到该主机时会发生什么(
nc-vv gmail-smtp-in.l.google.com 25
)?同样的结果,所以我想python不是问题所在。我将用精确的输出修改帖子。许多ISP阻止端口25上的流量。这是你的问题还是它在同一网络上的另一台机器上工作?同一网络上的其他机器工作正常。我必须假设你有某种防火墙阻止你。
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