ホームページ  >  記事  >  バックエンド開発  >  golangからプロキシ経由でftpに接続する

golangからプロキシ経由でftpに接続する

PHPz
PHPz転載
2024-02-09 12:00:09568ブラウズ

从 golang 通过代理连接到 ftp

php エディタ Zimo では、プロキシを使用して FTP サーバーの Golang コードに接続する方法を紹介します。場合によっては、セキュリティを強化したりネットワーク制限を解決したりするために、FTP サーバーにアクセスするときにプロキシ サーバーの使用が必要になることがあります。 Golang は使いやすいネットワーク ライブラリを備えた強力なプログラミング言語であるため、この機能を簡単に実装できます。次に、簡単なサンプル コードを使用して、Golang を使用してプロキシ経由で FTP サーバーに接続する方法を示します。

質問内容

プロキシ経由でftpサーバーに接続し、Golangコードからファイルをダウンロードする必要があります。単純なクライアントを実装しました:

リーリー

残念ながら、接続しようとすると 403 Forbidden が表示されます。通常、これはサーバーの制限だと思いますが、curl 経由で完全に正常に動作します:

リーリー

なぜこれが起こるか知っている人はいますか?私の知る限り、curl は内部で http CONNECT も使用しているので、何が足りないのか疑問に思っています。

PS コード内の認証情報については心配する必要はありません。これらはネットワーク テスト用に公開されています。

回避策

HTTP プロキシ経由の FTP は、CONNECT リクエストでは実行されません。代わりに、プロキシは、通常の GET リクエストを使用して ftp://... URL を取得するように指示されます。これもcurlがやっていることです。 Go では、次のように実行できます (わかりやすくするためにエラー処理は省略しています):

リーリー

以上がgolangからプロキシ経由でftpに接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。