タイトル : Re^4: MSXML2.XMLHTTP60 をログオフ状態で使用 投稿日 : 2015/08/04(Tue) 17:57 投稿者 : 魔界の仮面弁士
サーバー側からクライアント証明書が要求されてきた場合、 ServerXMLHTTP では、その振る舞いを変更することは難しいようです。 ただ、でふぁいあんとさんの投稿によれば、ServerXMLHTTP ではなく XMLHTTP を用いた場合には、条件次第では通信が行えているようなので、 その情報を元に、追加調査してもらっています。 それでも解決策が見つからない場合、ActiveX (COM)系での通信ではなく、 .NET 系の実装が代替案となってくるかもしれません。 まぁ、.NET で通信できるのかどうかも怪しいところですが…。 > 前回、PowerShellとVBScriptについてお聞きしたので 今のところ、XMLHTTP + ログオン状態で成功するというのは、 どのパターンのときでしょうか? ・VB6 で作った EXE をダブルクリックで起動 ・VB6 で作った EXE を、「ユーザーがログオンしているときのみ実行」でスケジュール起動 ・VB6 で作った EXE を、「ユーザーがログオンしているかどうかに関わらず実行」 ・『vb6.exe /runexit プロジェクトファイル』をダブルクリックで起動 ・『vb6.exe /runexit プロジェクトファイル』を「ログオンしているときのみ」で起動 ・『vb6.exe /runexit プロジェクトファイル』を「ログオンしているかどうかに関わらず」で起動 > > 初回と2回目とで、リクエストヘッダー/レスポンスヘッダーの内容を確認してみてください。 > > http://winofsql.jp/VA003334/infoboard.php?mid=sh_web&id=100618110711&pid=1 > はい、これは今から調べてみます とは言ったものの、リクエストヘッダーの取得は難しいかも知れません。 とりあえず、レスポンスヘッダーだけでも確認してみて下さい。 具体的には、1回目(.status = 400) と 2回目(.status = 200)それぞれの .getAllResponseHeaders() の結果を取得するという事です。 スケジューラーから呼び出した場合において、初回と二回目で ヘッダーの内容がどう変わるのかは分かりませんが、たとえば 1回目の応答で、"Set-Cookie:" が返されているようであれば、 2回目の呼び出しに、 .setRequestHeader "COOKIE", [クッキーの中身] を加えることで、状況が変わるかもしれません。 その場合、クッキーの内容は、.getResponseHeader("Set-Cookie") または .getAllResponseHeaders() から取得することになるでしょう。 (Set-Cookie が複数送信されてくる場合は、getAllResponseHeaders の方が良いかも) |