


Can't connect to FTP server using Go, but can connect using FileZilla
php editor Zimo found that some users reported that they encountered problems when using Go language to connect to the FTP server, but they could connect normally using FileZilla. This problem may cause some developers to be unable to perform FTP operations smoothly. In this article, we will explore the possible causes and solutions to help readers solve this connection problem so that they can successfully connect to the FTP server using Go language.
Question content
I have a small golang program and I'm trying to connect to an ftp server running in a docker container (https://registry.hub.docker.com/r/atmoz /sftp).
My machine is m1 pro macbook.
Use the following command to start the container:
docker run -p 22:22 -d atmoz/sftp foo:pass:::upload
go version is 1.17.13.
The program code is as follows:
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) } }
Somehow I cannot connect to the ftp server that executes this code, it produces the following output:
EOF cannot connect
I tried to connect to the same ftp server using filezilla and it worked fine and I was able to successfully connect to the server.
Any ideas on how to resolve this issue or debug the issue further? Thanks
Workaround
Port 22 is usually SSH/SFTP, not FTP. Note that FileZilla supports both FTP and SFTP. So it's likely that you're actually using FileZilla to connect with SFTP. The two protocols are completely different and incompatible.
There seems to be a "sftp" package for Go:
https://www.php.cn/link/c6344b0ae32e496be8b1b701e540d566
The above is the detailed content of Can't connect to FTP server using Go, but can connect using FileZilla. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

Two ways to define structures in Go language: the difference between var and type keywords. When defining structures, Go language often sees two different ways of writing: First...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

Resource management in Go programming: Mysql and Redis connect and release in learning how to correctly manage resources, especially with databases and caches...
