Python版本2.7.3
Python代码,交互模式
import socket
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect(("192.168.95.148",21))
错误
>>> s.connect(("192.168.95.148",21))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.timeout: timed out
语法看起来正确。我甚至尝试使用另一个可ping和同样错误的IP地址。
谢谢!
答案 0 :(得分:2)
我正在查看您正在使用的端口(21),它是FTP端口。
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
我没有看到代码本身有任何错误,但这里有一些我担心的事情:
a)许多地方锁定并关闭FTP
,telnet
等端口
这是历史上使用过的,但在今天安全的世界中,
我们使用scp
和ssh
(而不是ftp
和ssh
)。你可能会跟你说话
系统管理员,看看该服务是否已打开,
或者更不用说你的文件墙甚至允许该端口通过。
b)我不习惯看到默认参数,但我认为你 想要
socket(socket.AF_INET,socket.SOCK_STREAM)
我有Python 2.6,这是默认设置(我假设 对于2.7)是相同的。
c)我会尝试在不同的端口上查看它是否是端口问题。 当然,早期编号的端口是特殊的“知名端口” 普通用户无法使用。我通常使用端口9711或8888。
d)我也会在没有超时的情况下尝试它,看看是否有效。
我希望这有帮助!
答案 1 :(得分:0)
这不是您问题的直接答案,但如果您正在寻求进行FTP转移,我建议您使用标准ftplib模块吗?