このページの本文へ

PROGRAMMING 古籏一浩のJavaScriptラボ第22回

JSでWeb制作を自動化するAdobe Bridge活用入門

2009年12月07日 13時00分更新

古籏一浩

  • この記事をはてなブックマークに追加
本文印刷

Webサーバーからデータを取得

 次に、Webサーバーからデータを取得してローカルディスクに保存します。BridgeでHTTP/ FTPを使うにはwebaccesslibライブラリーを読み込ませる必要がありますが、一度読み込んでしまえばBridge上で実行するすべてのスクリプトで使用できます。

 webaccesslibライブラリーは以下のようにして読み込みます。


if ( !ExternalObject.webaccesslib ) {
    ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}


 これでHTTP/FTPを使用できます。ちなみにHTTPSやFTPSなどのセキュアなプロトコル、BASIC認証によるパスワード付ページにも対応しています。

 ライブラリーを読み込めば、あとは手順に従ってスクリプトを書くだけです。まず、new HttpConnection()で取得したいファイルのURLを指定します。必ずhttp://も含めて指定してください。new HttpConnection()でオブジェクト(インスタンス)が作成されます。このオブジェクトのresponseプロパティに取得したファイルの保存先を指定します。保存先はファイルオブジェクトである必要がありますので、new File()で引数に保存先のパスを指定します。

 以上で準備完了です。execute()メソッドを実行すれば自動的にサーバーとやり取りし、指定した場所にファイルが保存されます。すべてが終わったらresponse.close()としてサーバーへの接続を終了させます。

 ここまでをまとめたものがサンプル04です。http://ascii.jp/web/のHTMLファイルを読み込み、ホームフォルダ内にasc.htmlという名前で保存します。


●サンプル04


#target "Bridge"
// Http, Ftpが使えるようにする
if ( !ExternalObject.webaccesslib ) {
    ExternalObject.webaccesslib = new ExternalObject("lib:webaccesslib");
}
// 取得先のURLと保存先のパスを指定
var url = "http://ascii.jp/web/";
var filepath = "~/asc.html";
// Webサーバーへ接続
var http = new HttpConnection(url);
http.response = new File(filepath);   // 保存先を指定
http.execute();   // サーバーへリクエスト
http.response.close();  // 取得したら終了


実行結果
HTMLファイルがダウンロードされホームフォルダ内にasc.htmlという名前で保存される
Web Professionalトップページバナー

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く