パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

POST ができた

いわゆるユーザネームとパスワードを入れてログインする 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 でうまくいった。

ということで自動ログインができるようになった。これは大きい前進かな。