いわゆるユーザネームとパスワードを入れてログインする Web ページがある。これを自動でログインできるようにしようとすると、POST という http の操作ができる必要があるらしい(GET でやってるばあいもあるらしいが)。
IWebBrowser2 の Navigate2() でできるらしいのだが結構大変。
* Headers を指定する必要有。中身は
Content-Type: application/x-www-form-urlencoded (\r\n もいる?)
* POST するデータは VARIANT の VT_ARRAY タイプで、中身は SAFEARRAY で、その中身は VT_UI1 の配列になっていないといけない。
これはやり方がわからなかったので、ネットで拾ってきたソースをそのまま拝借した。
後、URL も指定するのだが、普通は
<FORM ACTION="url" TYPE="POST">
の url (CGI の URL を書く)なのだが、対象のページでは ACTION が省略されていた(非推奨)。で、結論的には、そのページ自身の URL でうまくいった。
ということで自動ログインができるようになった。これは大きい前進かな。