こんにちは。
現在クライアントのVBからデータを送信、ASP(VBScript)でDB更新を行い
処理結果を受け取るという処理をしています。
WininetAPIのHttpSendRequest関数でASPにデータを送れそうで、
第4引数にデータを設定すればよいのかと思いますが、複数の項目はどうやって
指定したらよいのでしょうか?
ネットワークもASPも初心者で、かなり調べましたが分かりません。
ご存知の方がおりましたらアドバイスをお願いします。(Win2k,VB6 SP5)
' HTTPリクエストのハンドルを開く
lngHttpOpenRequestHandle = _
HttpOpenRequest(lngInternetConnectHandle, _
"POST", _
"***/***.asp", _
"HTTP/1.0", _
vbNullString, _
0, _
INTERNET_FLAG_RELOAD, _
0)
' HTTPリクエストのハンドルを開けないときは
If lngHttpOpenRequestHandle = False Then
' エラーメッセージを設定
End If
' HTTPサーバーにリクエストを送信
lngWin32ApiResultCode = _
HttpSendRequest(lngHttpOpenRequestHandle, _
vbNullString, _
0, _
ByVal "データ?", _
0)
' HTTPサーバーにリクエストを送信できないときは
If lngWin32ApiResultCode = False Then
' エラーメッセージを設定
End If
とあるサイトからコピらせて頂いたソース(一部)です。
エラーはでませんが、DBの更新がされたかも未確認(まだテスト用しかない)
です。とりあえずこの方法で処理が可能か確認をしたいです。
よく分かっていなくて申し訳ありませんが、よろしくお願いします。
ソースが足らないようなので追加します。
とりあえずASPが動けば更新するように修正したのですが、
制御も行ってないようでDBは更新されませんでした。
' Internet関数を使う前に初期化
lngInternetSessionHandle = _
InternetOpen("Agent", _
INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, _
vbNullString, _
0)
' 初期化できないたときは
If lngInternetSessionHandle = False Then
' エラーメッセージを設定
End If
' サーバーホスト名を指定
strInternetServerHostName = "111.111.11.11"
' HTTPセッションを開く
lngInternetConnectHandle = _
InternetConnect(lngInternetSessionHandle, _
strInternetServerHostName, _
INTERNET_DEFAULT_HTTP_PORT, _
"ユーザID", _
"Password", _
INTERNET_SERVICE_HTTP, _
0, _
0)
' HTTPセッションを開けないときは
If lngInternetConnectHandle <= 0 Then
' エラーメッセージを設定
End If
' HTTPリクエストのハンドルを開く
lngHttpOpenRequestHandle = _
HttpOpenRequest(lngInternetConnectHandle, _
"POST", _
"***/***.asp", _
"HTTP/1.0", _
vbNullString, _
0, _
INTERNET_FLAG_RELOAD, _
0)
' HTTPリクエストのハンドルを開けないときは
If lngHttpOpenRequestHandle = False Then
' エラーメッセージを設定
End If
' HTTPサーバーにリクエストを送信
lngWin32ApiResultCode = _
HttpSendRequest(lngHttpOpenRequestHandle, _
vbNullString, _
0, _
ByVal "TMP01", _
0)
' HTTPサーバーにリクエストを送信できないときは
If lngWin32ApiResultCode = False Then
' エラーメッセージを設定
End If
終了処理
です。よろしくお願いします。
自己レスです。
inetコントロールで解決しました。