XMLHTTPを使ってPOSTしたいのですが

解決


まき  2004-10-08 02:06:21  No: 116831

すみません。教えてください。

元はWEBシステムで構築していたアプリケーションがあるのですが
今回一部の機能をVB6.0で提供することになりました。
VBで編集したデータはすでに構築済みのWEBサーバに送信して、
ユーザ認証などはそこの機能を使い回したいと思っています。
その、VBからサーバへの通信機能の実装にXMLHTTPを使用したいと考えています。

ログイン画面の取得は
    Set HttpRequest = CreateObject("Microsoft.XMLHTTP")
    Set HttpRequest = CreateObject("MSXML2.XMLHTTP")
    Set HttpRequest = CreateObject("MSXML2.ServerXMLHTTP")
    
    HttpRequest.open "GET", "http://〜/logon.jsp", False
    HttpRequest.send

でうまく取得できました。
次にログイン画面でユーザID,パスワードを入れたのと同じ動作をXMLHTTPを使用して
実現しようとしたましたが、BODY情報の入れ方がわからないため
POST送信することが出来ずに困っています。
BODY部を設定する方法をご存知の方がいましたら、是非教えてください。

よろしくお願いします。


魔界の仮面弁士  2004-10-08 03:52:02  No: 116832

BODY情報は、sendメソッドの引数にVariant型のデータとして渡せばOK。

送る内容については、とりあえずフリーソフトの「InetSpy」などを使って、
ブラウザでの通信時と、XMLHTTPでの通信時の内容を比較してみるとか。


まき  2004-10-08 23:29:05  No: 116833

返答ありがとうございます。

データ型がStringだったせいで、うまくいってませんでした。
Variantにしたらばっちり送信されました。

パケットデータの確認は
開発OSがWindows2000だったせいか、InetSpyは動きませんでした。
そこで、WinPcapとAnalyzerをインストールしてキャプチャしました。
比較したおかげでヘッダの情報も1部足りないことがわかり、
HttpRequest.setRequestHeaderで足しました。

すごく助かりました。どうもありがとうございます!!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加