最近の記事
- 9/1 - 将棋始めました
- 5/16 - サーバー引っ越し
- 4/24 - 優先順位
- 3/17 - vbNullString と 空文字列 ""
- 3/15 - InputBox 関数の戻り値
- 3/13 - 紙と Excel と VBA
- 3/9 - 未だに Visual Basic 6
- 11/14 - ぼて閉鎖
- 11/9 - 関数オブジェクトの呼び出し
- 9/7 - メソッドとしての関数オブジェクト
Entering Passive Mode
今日は mixi にログインしてみよう。
mixi のログインは、トップページのフォームに入力し、
その内容をサーバに送信することで行われる。
サーバは、認証情報を含む Cookie を返す。
それ以降は、ブラウザが Cookie を送信することで、
サーバは、ログインしていることを認識して、
自動的に個人用のトップページを返却する仕組みだ。
XMLHttpRequest でログインするためには、
まずログインフォームの動作を調べる必要がある。
今日は、XMLHttpRequest を利用して、
mixi のトップページに接続してみる。
コードを書く前に、先にファイルの整理をしよう。
js や vbs などの単独ファイルは、
大きなプログラムを書くとどうしても肥大化してしまい、
可読性やメンテナンス性に難がある。
WSH には、複数のスクリプトファイルをまとめた
wsf という XML ベースのファイル形式があり、
js や vbs と同じように実行が可能である。
これを使えば、コードを整理することができる。
WSH では XMLHttpRequest が組み込みクラスではないので、
XMLHttpRequest を利用するためには、
少し面倒な手順を踏む必要がある。
Windows では XMLHttpRequest は、
MSXML ライブラリが提供する、COM オブジェクトである。
JScript (Microsoft の拡張した JavaScript) には、
ActiveXObject というクラスがあり、
COM オブジェクトをそのまま利用することができる。
mixi は Web 上のサービスであり、
アクセスする手段は HTTP 接続に限られる。
(まあ、非公開のものはほかにもあるかもしれないが)
プログラムから HTTP 接続するためには様々な方法があるが、
WSH などのスクリプト基盤から利用できるものは多くない。
1. Internet Explore (MSHTML) を操る
2. XMLHttpRequest (MSXML) を使う
1 は、Internet Explorer を直接操ってしまう方法である。
メールや写真など、自分にとって必要なファイルは、
こまめにバックアップをしておくのが基本である。
昔は、そういったファイルは、
操作しているパソコンの HDD にあるのが普通だった。
なので、バックアップは単純にコピーするだけでよかった。
アプリケーションの設定等も、
アプリケーションにエクスポート機能があれば、
それを利用してバックアップを取ることができた。
最近は、Web ベースのサービスが非常に増えており、
それらサービス上で管理されているデータは、
自分のパソコンではなく、サーバ上に存在する。