■20486 / inTopicNo.1) |
IEもしくはWebBrowserコントロールでPOSTによる |
□投稿者/ エイジ (6回)-(2008/06/11(Wed) 09:43:41)
|
分類:[VB.NET/VB2005]
まず目的は、システムの負荷実験です そのシステムはIIS上で動作し、ASP(.netではありません)で作られており
検索条件を
Request.Form("xxx") Request.Form("yyy")
と言う形で取得しています
その検索条件をcsvファイルから取込み、読み込んだ行数分 IEもしくはFromを開き、Formの場合はWebBrowserコントロールに検索結果を表示すると言うテスト用のシステムです
そこで問題になったのが、システム上ではPOSTでフォーム情報をサブミットしているんですが
それをシステムからどういう形で行えばよいのか?
と言う点です
今回このシステムを実現するにあたり
環境はVB6もしくはVB2005で行いたいです
現在VB2005の方がWebで参考になるところが多かった為、VB2005で実現しようとしているのですが
(strKeyには検索キーワード、pstrUrlには負荷実験の対象となるASPが指定されています。)
''文字コードを指定する Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("shift_jis")
''POST送信する文字列を作成 Dim postData As String = System.Web.HttpUtility.UrlEncode("xxx=0&yyy=", enc) & System.Web.HttpUtility.UrlEncode(strKey, enc) ''バイト型配列に変換 Dim postDataBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(postData)
Me.WebBrowser1.Navigate(pstrUrl, "", postDataBytes, "")
と言う形でNavigateを用いて行おうとしていたのですが、上手くPOSTでデータを送信できず
1枚APSをかんで、APSにPOSTで送信するキーを設定した後、そのフォームをサブミットして、対象となるASPに飛ぶと言う形で実現できないかと考え
Formのロードイベントで Me.WebBrowser1.Navigateで1枚目のASPを指定し
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim hiddens As HtmlElementCollection = Me.WebBrowser1.Document.GetElementsByTagName("input") For Each hidden As HtmlElement In hiddens Select Case hidden.GetAttribute("name") Case "xxx" hidden.SetAttribute("value", "0") Case "yyy" hidden.SetAttribute("value", strKey) Exit For End Select Next Dim formElements As HtmlElementCollection = Me.WebBrowser1.Document.GetElementsByTagName("form") For Each form As HtmlElement In formElements Select Case form.GetAttribute("name") Case "frmHdn" form.SetAttribute("action", gstrUrl) form.InvokeMember("submit") End Select Next End Sub
その中のinputタグからxxxとyyyを探しそれぞれvalueを設定し その後formタグからfrmHdnのフォームを探しサブミットすると言う形を考えましたが
どちらも、取得後のコレクションを見るとItem数が0個でFor文の中を回ってもらえませんでした
参考にさせていただいたのが http://dobon.net/vb/dotnet/internet/webrequestpost.html http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200611/200611_06110021.html http://blogs.wankuma.com/naoko/archive/2007/11/14.aspx
の方々のサイトになります
以上が現状になるんですが、お気づきの点があればご教授頂きたいです
よろしくお願いいたします
|
|