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
- 12 May 2011 : onlispja ebook
- 07 May 2011 : 文字校正用ユーティリティ
- 28 Apr 2011 : htdigest設定支援スクリプト
- 15 Apr 2011 : HudsonからJenkinsへの移行
- 11 Apr 2011 : Emacs Lispでert.elを使ってユニットテスト
- 25 Mar 2011 : Jenkins導入
- 11 Mar 2011 : 地震 / Earthquake in Japan