我的编程空间,编程开发者的网络收藏夹
学习永远不晚

无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接

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 连接的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接

php小编子墨发现有用户反馈在使用Go语言连接到FTP服务器时遇到了问题,但是使用FileZilla却可以正常连接。这个问题可能导致一些开发者无法顺利进行FTP操作。在本文中,我们将探讨可能的原因以及解决办法,帮助读者解决这个连接问题,以便
无法使用 Go 连接到 FTP 服务器,但可以使用 FileZilla 连接
2024-02-09

无法使用 Go 和 pq 连接到 postgresql

哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《无法使用 Go 和 pq 连接到 postgresql》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!问
无法使用 Go 和 pq 连接到 postgresql
2024-04-04

使用哪个命令可以连接到云服务器

如果您想连接到云服务器,通常需要使用命令行工具或云服务提供商提供的命令行界面来连接云服务提供商的云服务器。以下是一些常用的命令:publish_server-i#指定要连接的云服务器的IP地址和端口号publish_server-n#指定要连接到的云服务器的名字publish_server-d#指定要连接的云服务器的DNS服务器在这种情况下,您需要输入您要连接到哪个云服务器的命令,例
2023-10-26

win7下蓝牙无法使用可以连接但不能传输文件

现在的笔记本中都会内置蓝牙功能,可以让我们的笔记本在没http://www.cppcns.com有数据线的情况下也能轻松连接传输文件。今天小编要使用蓝牙传东西的时候,发现蓝牙不能用了,能连接但不能传输文件了,但好在问题不大,及时解决了。下面
2023-05-31

使用哪个命令可以连接到云服务器中

如果您想连接到云服务器中的服务器,以下是一些命令可以用来连接到云服务器中的服务器:https://localhost:8080,输入以上命令会将服务器的IP地址和端口号发送到浏览器中并显示在页面上。https://website:https,输入以上命令会访问服务器的网站并获取所需的信息和设置。http://localhost:8000,输入以上命令会向服务器发送一个HTTPGET请求,请求指定的资源并将其返回。请确保您正在运行的操作系统和浏览器与你所使用的云服务器...
2023-10-27

使用哪个命令可以连接到云服务器上网

要连接到云服务器上网,您需要使用SSH(SecureShell)命令。SSH是一种加密协议,可用于在本地计算机和远程服务器之间建立安全的连接。以下是连接到云服务器的步骤:打开终端或命令提示符。输入以下命令:sshusername@serveripaddress其中,username是您在服务器上的用户名,serveripaddress是服务器的IP地址。按Enter键,系统会提示您输入密码。输入您的密码并按Enter键。如果您第一次连接到服务器,系统会提示您确认服...
2023-10-27

使用哪个命令可以连接到云服务器上面

以下是连接到云服务器上的命令:获取云服务器的IP地址和登录凭证(用户名和密码或密钥文件)在终端中输入以下命令来获取云服务器的IP地址和登录凭证(用户名和密码或密钥文件):macrosgetipaddressusernamepassword其中,username和password是你要连接的云服务器的用户名和密码。这个命
使用哪个命令可以连接到云服务器上面
2023-10-28

使用哪个命令可以连接到云服务器中的服务器

在命令行中输入以下命令,将与该服务器相关的所有信息(包括IP地址、用户名和密码)显示在屏幕上:sshusername@remotehost://localhost:3306其中,“username”和“remotehost”是我们在远程主机上设置的用户名和密码。例如,如果我们想在本地主机上设置该用户的用户名和密码,则可
使用哪个命令可以连接到云服务器中的服务器
2023-10-28

如何使用阿里云服务器连接FTP

FTP(FileTransferProtocol)是一种在互联网上传输文件的标准协议。使用FTP,用户可以在本地机器和远程服务器之间传输文件。本文将详细介绍如何使用阿里云服务器连接FTP。一、阿里云服务器配置FTP首先,你需要在阿里云服务器上安装FTP服务器。在控制台中,选择你的服务器,然后点击"安全组",在安全
如何使用阿里云服务器连接FTP
2023-10-30

使用MobaXterm连接到远程服务器

仅供参考 文章目录 @[TOC](文章目录) 一、前期准备二、步骤1.点击上册工具栏的Session,在弹出的窗口里选择SSH。2.点击Network settings,再点击中间的jump host。3.在弹出界
2023-08-20

redis-copy使用6379端口无法连接到Redis服务器的问题

问题描述当使用Azure Redis服务时,需要把一个Redis服务的数据导入到另一个Redis上,因为Redis服务没有使用高级版,所以不支持直接导入/导出RDB文件。以编程方式来读取数据并写入到新的Redis服务端,使用开源工具 R
2023-05-16

使用命令选项连接到 MySQL 服务器

让我们看看如何使用命令行选项与MySQL服务器建立连接,例如mysql或mysqldump这样的客户端。为了使客户端程序能够连接到MySQL服务器,它必须使用正确的连接参数,例如服务器运行的主机名、MySQL帐户的用户名和密码。每个连接参数
2023-10-22

Android应用程序无法连接到socket.io Golang服务器

最近,一些Android应用程序无法连接到socket.io Golang服务器的问题引起了广泛关注。php小编新一在此为大家解答。在使用socket.io Golang服务器时,有一些常见的连接问题可能导致Android应用程序无法连接。
Android应用程序无法连接到socket.io Golang服务器
2024-02-08

如何使用阿里云轻量级服务器连接FTP

本文将介绍如何使用阿里云轻量级服务器连接FTP,以方便您进行文件的上传和下载。FTP是FileTransferProtocol的缩写,是一种非常常见的文件传输协议。通过FTP,用户可以在网络上进行文件的传输,无论您是在本地电脑上,还是在远程服务器上,都可以使用FTP进行文件的传输。正文:首先,您需要登录阿里云的控
如何使用阿里云轻量级服务器连接FTP
2023-12-09

怎么使用SSL连接到远程MySQL服务器

这篇文章主要介绍了怎么使用SSL连接到远程MySQL服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用SSL连接到远程MySQL服务器文章都会有所收获,下面我们一起来看看吧。先决条件 (Prerequ
2023-02-14

使用FlashFXP连接阿里云FTP服务器的步骤详解

阿里云是全球领先的云计算服务提供商,提供了丰富的云计算产品和服务。其中,FTP服务器是阿里云提供的一种常用的数据存储服务。然而,由于各种原因,许多用户可能会遇到无法连接阿里云FTP服务器的问题。此时,就需要使用一种FTP客户端工具来连接阿里云FTP服务器。本文将详细介绍如何使用FlashFXP连接阿里云FTP服务
使用FlashFXP连接阿里云FTP服务器的步骤详解
2023-11-12

云服务器上如何使用数据库连接到服务器

在云服务器上使用数据库连接到服务器的方法可能因具体情况而异,以下是一般的步骤:打开数据库连接:在云服务器上创建一个连接或者创建一个新用户账户,然后在连接上创建一个数据库对象。选择要连接到的数据库:选择数据库并输入用户名、密码和验证信息,以便数据库可以连接到目标服务器。在连接上创建数据库对象:使用数据库连接创建一个数据库对象,例如表或者关系。在数据库中执行操作:当客户端连接到数据库时,将
2023-10-26

问题:本地连接阿里云服务器数据库无法使用

1.检查网络连接首先,确保你的本地网络连接正常。尝试访问其他网站或服务,以确认你的网络连接没有问题。如果你无法访问其他网站,可能是你的网络出现了问题,需要联系你的网络服务提供商进行修复。2.检查防火墙设置阿里云服务器默认会启用安全组规则,这些规则可能会限制对数据库的访问。请确保你的安全组规则允许从你的本地IP地址访问数
问题:本地连接阿里云服务器数据库无法使用
2023-10-28

编程热搜

目录