php エディター Zimo は、Go 言語を使用して FTP サーバーに接続すると問題が発生したが、FileZilla を使用すると正常に接続できたと一部のユーザーが報告していることを発見しました。この問題により、一部の開発者は FTP 操作をスムーズに実行できなくなる可能性があります。この記事では、読者が Go 言語を使用して FTP サーバーに正常に接続できるように、この接続の問題を解決できるように、考えられる原因と解決策を検討します。
小さな golang プログラムがあり、Docker コンテナー (https://registry.hub.docker.com/r) で実行されている FTP サーバーに接続しようとしています。 /atmoz /sftp)。
私のマシンは m1 pro macbook です。
次のコマンドを使用してコンテナを起動します。
docker run -p 22:22 -d atmoz/sftp foo:pass:::upload
go のバージョンは 1.17.13 です。
プログラムコードは次のとおりです:
リーリーどういうわけか このコードを実行する FTP サーバー に接続できません。次の出力が生成されます:
リーリーfilezilla を使用して同じ FTP サーバーに接続しようとしましたが、正常に動作しました サーバーに正常に接続できました。
この問題を解決する方法、または問題をさらにデバッグする方法について何かアイデアはありますか?ありがとうございます回避策ポート 22 は通常、FTP ではなく SSH/SFTP です。 FileZilla は FTP と SFTP の両方をサポートしていることに注意してください。したがって、実際には FileZilla を使用して SFTP に接続している可能性があります。 2 つのプロトコルは完全に異なり、互換性がありません。Go には「sftp」パッケージがあるようです:
https://www.php.cn/link/c6344b0ae32e496be8b1b701e540d566
以上がGo を使用して FTP サーバーに接続することはできませんが、FileZilla を使用すると接続できますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。