gaierror: [Errno -2] 名称或服务未知| pysftp

Posted

技术标签:

【中文标题】gaierror: [Errno -2] 名称或服务未知| pysftp【英文标题】:gaierror: [Errno -2] Name or service not known | pysftp 【发布时间】:2021-11-05 19:52:32 【问题描述】:

我正在尝试使用 pysftp 连接到我发现 here 的免费公共 SFTP 服务器。

我试过了:

import pysftp

cnopts = pysftp.CnOpts()
cnopts.hostkeys = None 


sftp = pysftp.Connection('demo.wftpserver.com:2222', username='demo-user', password='demo-user', cnopts=cnopts)
sftp.close()

但是它会产生:

ConnectionException: ('demo.wftpserver.com:2222', 22)gaierror: [Errno -2] Name or service not known

这是解决此问题的方法吗?

请指教。

【问题讨论】:

【参考方案1】:

端口号转到Connection 构造函数的port 参数。 host 参数只需要一个主机名。

sftp = pysftp.Connection(
    'demo.wftpserver.com', port=2222, username='demo-user', password='demo-user',
    cnopts=cnopts)

强制警告:不要设置cnopts.hostkeys = None,除非你不关心安全性。有关正确的解决方案,请参阅Verify host key with pysftp

【讨论】:

谢谢! ,很清楚的警告呢! :)

以上是关于gaierror: [Errno -2] 名称或服务未知| pysftp的主要内容,如果未能解决你的问题,请参考以下文章

Python 发送邮件 socket.gaierror: [Errno 11004] getaddrinfo failed

“getaddrinfo 失败”,这是啥意思?

Python ftplib 连接错误(gaierror)

如何在 C 中打印 errno 的符号名称?

python telnet

名称或服务未知