WebDAVサーバの読み書き
ファイル共有の方法をFTPからWebDAV/SSLに切り替えることにした。 とりあえずサーバ側は既存の資源を使うことにして、クライアント側の話。
WebDAVサーバ領域を読み書きできるツールはいろいろある。知っている範囲で例 を挙げる。
- 読み出し(ダウンロード)
- Webブラウザ(Firefox、IEなど)
- Explorer (Windows)
- Finder (Mac OS X)
- 書き込み(アップロード)
- Explorer (Windows)
- Finder (Mac OS X)
- curl
- cadaver
Explorer
- 「マイ ネットワーク」で 「ネットワークタスク > ネットワーク プレースを追加する」 を選ぶ
- ウィザードの指示に従ってURLを入力する
Finder
- Finderのメニューで「移動>サーバへ接続」を選ぶ
- 「サーバアドレス欄」にURLを入力する
curl
コマンドラインツールでアップロードする場合はcurlが便利。
$ curl --upload somefile https://example.com/foo/
パスワードをファイルに保管しておきたいので、こんな感じ。
$ touch upload_url.private $ chmod 600 upload_url.private $ vi upload_url.private https://user:password@example.com/foo/ $
$ curl --upload somefile `cat upload_url.private`
–verboseオプションを付けると分かりやすい。
$ curl --verbose --upload somefile `cat upload_url.private`
サーバのSSLの認証局がマイナーで証明書がブラウザに標準搭載されていない場合 は、証明書を–cacertオプションで指定する。例えばDebianでcacert.orgを使う 場合は、ca-certificatesパッケージをインストールしてcacert.org.crtを指定す ればよい。
$ curl --verbose \ --cacert /usr/share/ca-certificates/cacert.org/cacert.org.crt \ --upload somefile `cat upload_url.private`
SSLのエラーを無視する–insecureオプションもデバグには役立つ。実運用に使う のはまずいけど。
cadaver
コマンドラインから使えるWebDAVクライアントとしては、curl以外にcadaverもあ る。でも~/.netrcファイル経由でしか認証情報を渡せないようなので、ちょっと 不便。(.netrcを書き換えるスクリプトを用意すれば一応動く。ただし排他制御 が必要。)
資料
- curl
$ man curl $ curl --help $ w3m /usr/share/doc/curl/
- cadaver
$ man cadaver $ cadaver --help $ w3m /usr/share/doc/cadaver/ $ man netrc
Other Articles
- 13 Oct 2017: 『テスト駆動開発』
- 19 Oct 2016: 『新装版 達人プログラマー 職人から名匠への道』
- 19 Aug 2016: 『プログラミングElixir』
- 20 Oct 2015: Migrating from git-media to git-lfs
- 04 Oct 2015: Git Large File Storageクライアントのインストール
- 12 Aug 2015: isbn.rb
- 22 Apr 2015: 「なるのか、なすのか?」(To Be Or To Do?)