PHP小编子墨发现有用户反馈在使用Go语言连接到FTP服务器时遇到了问题,但是使用FileZilla却可以正常连接。这个问题可能导致一些开发者无法顺利进行FTP操作。在本文中,我们将探
PHP小编子墨发现有用户反馈在使用Go语言连接到FTP服务器时遇到了问题,但是使用FileZilla却可以正常连接。这个问题可能导致一些开发者无法顺利进行FTP操作。在本文中,我们将探讨可能的原因以及解决办法,帮助读者解决这个连接问题,以便能够顺利使用Go语言连接到FTP服务器。
我有一个小型 golang 程序,我正在尝试连接到在 Docker 容器中运行的 ftp 服务器 (https://reGIStry.hub.docker.com/r/atmoz/sftp)。
我的机器是 m1 pro Macbook。
使用以下命令启动容器:
docker run -p 22:22 -d atmoz/sftp foo:pass:::upload
go 版本是 1.17.13。
程序代码如下:
package main
import (
"log"
"time"
"GitHub.com/jlaffaye/ftp"
)
func main() {
c, err := ftp.dial("localhost:22", ftp.dialwithtimeout(5*time.second))
if err != nil {
log.fatal(err, " cannot connect")
}
err = c.login("foo", "pass")
if err != nil {
log.fatal(err, "cannot login")
}
// do something with the ftp conn
if err := c.quit(); err != nil {
log.fatal(err)
}
}
不知何故,我无法连接到执行此代码的 ftp 服务器,它会产生以下输出:
EOF cannot connect
我尝试使用filezilla 连接到同一个 ftp 服务器,它工作正常,我能够成功连接到服务器。
关于如何解决此问题或进一步调试问题有什么想法吗?谢谢
端口 22 通常是 ssh/SFTP,而不是 FTP。请注意,FileZilla 同时支持 FTP 和 SFTP。因此,您很可能实际上是使用 FileZilla 与 SFTP 连接。这两个协议完全不同且不兼容。
Go 似乎有一个“sftp”包:
Https://www.php.cn/link/c6344b0ae32e496be8b1b701e540d566
以上就是无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接
本文链接: https://www.lsjlt.com/news/562827.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-06-03
2024-06-03
2024-06-04
2024-06-03
2024-06-03
2024-06-03
2024-06-03
2024-06-04
2024-06-03
2024-06-03
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0