Go を使用して FTP サーバーに接続することはできませんが、FileZilla を使用すると接続できます

PHPz
リリース: 2024-02-09 21:51:17
転載
501 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!