FTPクライアントでWeb URLを取得

エントリのタイトルでは分かりにくいかも知れません。
FTPでサーバへアップロードしたファイルをHTTPでアクセスするという時に使うURLをFTPクライアント側で取得するといったことです。
外のユーザにファイルを渡す時に、ファイルをサーバにFTPでアップロードしておいて、そのファイルのHTTPアドレスをメールで知らせると、相手はメール本文中のアドレスをワンクリックすることでwebブラウザからダウンロードすることができます(ファイルを用意する側でHTTPとFTPのサーバが用意されているという前提です)。こういった使い方をしていると、このHTTPアドレスをアップロードしたFTPクライアントで取得できると便利です。

3

2

CyberduckとYummy FTPではHTTPルートとなるディレクトリまでの記述が少し異なっています。サイトの構造とBookmarkの指定しているルートディレクトリによってどの階層までを指定するか試してみるしかないですね。
FTPクライアントで、このWeb URLを取得できるのは半々くらいのようです。FileZilla、FetchではFTPアドレスしかコピーできませんでした。Cyberduck、Yummy FTP、TransmitはFTP、HTTPアドレスの両方コピーできます。
URLエスケープをしてくれないケースでは、日本語のファイル名だと、コピーしたFTPアドレスをURLエスケープしてから、‘ftp://…’から始まるアドレスを‘http://…’にパターンマッチで置換するスクリプトを書くしかありませんでしたが、最近のUnicode対応のFTPクライアントはほぼどのFTPクライアントでもエスケープしてくれるのは有り難いです(私の環境では、Transmitは日本語のURLエスケープがおかしいです)。

■余談
Mac OS Xでは早い時期からFinderにFTPクライアントが実装されていて、早晩3rd パーティのFTPクライアントは消えてしまうのではないかと思ったことがありますが、Finderの実装はAppleらしいといえばAppleらしく中途半端なままで、現時点でも書き込み禁止のボリュームをマウントすることしかできません。ダウンロードのみであればつかえるということですが、この機能のまま長いこと据え置きで、変える気配はないようです。

2013-10-10 4.26.19

FTPクライアント

FTPクライアントは、OS X以前は、Fetch、Interarchy、Transmitと使ってきましたが、OS Xでは主にCyberduckを使ってきました。1ペインではあるものの、処理スピードが少し遅いなといった程度の不満しかなかったのですが、試しにFileZillaを入れてみたところ、それまでののんびりとした転送作業が一変しました。そこで、これを機会に、いくつかの懐かしいアプリケーションを含めてチェックしてみました。

思いつくまま代表的なものを列挙するとこんな感じしょうか。検索してみるとかなりの数のクライアントアプリケーションがあり、この倍はリストアップできそうです。

icons

そこで、少し条件を絞ってみます。

■検討する条件

  • Cyberduckから乗り換えようというのですから、今更1ペインのインターフェースは無いでしょう、ということで、2ペイン表示のものを選びたいと思います
  • 64bitモードで動作するもの
  • 更新が滞っているものは外す

そうなると、無償のものではFileZilla、有償ではForkLift2、Transmit4、Yummy FTPくらいに絞れます。
FileZillaでほぼ唯一の不満は、リモートディレクトリとの同期機能がないことです。小さなサイトのアップデートでは手動でやってもOKなのですが、規模が大きくなると差分のプレビューと同期機能はぜひ欲しいですし、インクリメントで同期できれば効率的です。(CyberDuckの同期機能は、私にとっては使いにくい部類のインターフェースです)
そこで、Yummy FTPを使ってみて感想をここ<http://amstudio.sytes.net/users/amstudio/search/?tag=ftp>(※amstudio.sytes.netのサーバーのダウンの際にそれまでのエントリーをすべて失ってしまいました-2014春)に書きましたが、機能面での不満はあまりありませんでした。バランスのとれた機能だと思います。
希望通りの2ペインで、同期機能は満足のいくものです。しかし、なんと言っていいのか、不足はないのですがしっくりこないのです。

結局、FileZillaとCyberduckを使い分ける方に戻ってしまいました。