VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/05/20(Tue) 09:57
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe: VBでブラウザにログイン

> http://www.wakwak.com/info/service/util.html
> 上記のURLにVBを使ってログインし、「ログインID」「パスワード」と入力し、「認証」ボタンを操作し、

そのページの主要な部分を抜き出すと、以下のようなHTMLになります。
(細かい部分は省略しています)

<form name="form4usr" method="POST"
action="https://signup00.wakwak.com/user_asp/wakwak/buffer.asp">
  <input type="hidden"   name="backURL"         value="http://www.wakwak.com/info/service/util.html">
  <input type="hidden"   name="tmpSWITCHoption" value="wak">
  <input type="text"     name="d_account">
  <input type="password" name="d_password">
  <input type="image"    name="imageField">
</form>

VBで、上記のリクエストを送信する場合には、
・InternetExplorerオブジェクト(WebBrowserコントロール)を使う
・XMLHTTPオブジェクト(ServerXMLHTTPオブジェクト)を使う
のいずれかを用いると良いでしょう。


とりあえず、XMLHTTPを使う方法を例に挙げると、
  strUrl = "http://www.wakwak.com/info/service/util.html"
  objXMLHTTP.Open "POST", strUrl, False
  objXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  objXMLHTTP.send strParameter
  Debug.Print objXMLHTTP.responseText

のようになります。(objXMLHTTPの宣言は、過去ログNo.3949を参照してください)

ここで、strParameter は、送信するデータの中身です。
これは、<input name="名前" value="値"> の内容を、
   名前1=値1&名前2=値2&名前3=値3&………
のように列挙した文字列となります。すなわち、

  strParameter = "backURL=" & Encode("http://www.wakwak.com/info/service/util.html") _
               & "&tmpSWITCHoption=wak" _
               & "&d_account=" & Encode(strLoginId) _
               & "&d_password=" & Encode(strPassword) _
               & "&imageField.x=0" _
               & "&imageField.y=0"

のようになります。(imageField.x/yは、認証ボタンを押した時の座標位置です)


なお、上記の Encode というのは、「UrlEncode」処理を行う関数です。
UrlEncode の処理は、BASP21 DLLを使って、

  Public Function Encode(ByVal Src As String) As String
      Encode = CreateObject("basp21").BASE64(Src, 4)
  End Function

のように実装するのが簡単ですが、実際には
  http://www.wakwak.com/info/service/util.html

  http:%2F%2Fwww.wakwak.com%2Finfo%2Fservice%2Futil.html
のように変換するだけの処理なので、Replace関数などを使って自作されても良いかと思います。

# 参考資料[VB で URL エンコード]
# http://www.geocities.co.jp/SilkRoad/4511/vb/urlenc.htm


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -