RubyのWebDavクライアントを探してみるも、信頼できそうなものがない。Rubyのソースコードを見てみると標準添付のライブラリにWebdav対応コードが実装されている。下のコードで動作した。 Ruby1.9の機能として公式リファレンスに載っているメソッド(HTTPRequest#body_stream=)を使用したが、Ruby1.8.6でも正常に動作した。 ただしファイル名に日本語が含まれる場合は、文字コードに注意する必要がある。Apache Webdavにアップロードする場合は適切にサーバ側で文字コード変換をしてくれるようだが、ダウンロードする場合は、Windowsの場合はダウンロード先ファイル名をShift_JISで指定する必要がある。 require 'net/http' # # webdav-client # class WebdavClient # # webdav_url: