タイトル : Re^2: MSXML2.XMLHTTP60 をログオフ状態で使用 投稿日 : 2015/07/23(Thu) 15:20 投稿者 : でふぁいあんと
引き続きお世話になります > 階層が深くなってきたので接ぎなおします。 はい ご回答いただいた部分はじっくり考えて見ます 特に > VB6 に拘りが無ければ、PowerShell / VB.NET / C# などから > HttpWebRequest を呼び出す実装に置き換えるのはどうでしょう。 > それで無人実行できるかどうかは別問題ですけれども…。 一旦、vb.netに乗換えを考えていましたが、 toStringで挫折しました(笑) 言後乗り換えるなら,C#かなと思っていますが、、いまさらwin環境にこだわる必要も ないのかなと、迷っていて、結局vbaあるしvb6でいいかという状態です。 vbaはまだ正式サポートですよね。vbaで実行することに意味ありますか > なお、Fiddler 経由で該当 URL にアクセスしたところ、初回通信時に > 》 The server [circus.shopping.yahooapis.jp] requests a client certificate. > と表示されました。何か心当たりはありますか? 実際には、リクエストヘッダに、 アクセストークンなる認証コードを入れないと いけないので、そのチェックだと思います。 > WinHTTP API 系(ServerXMLHTTP)ではなく、Inet API 系(XMLHTTP)を用いた場合の話ですね。 > コンパイルモード(ネイティブコンパイル or P-Code コンパイル)を変更した場合、 > 動作に変化はありますか? 今、確認しましたが、pcode,ネィティブコンパイル(最適化無し),ネイティブコンパイル(サイズ最適化) とも、同じですね、ログオフ時の実行に、xmlstatus=0です。 あと申し訳ないですが、コードを見てにお伝えしてなかったことに気がつきました xmlhttp60を使っている前提です。 (1)実は、xmlHTTPでも、最初に xmlhttp.send [postデータ]とすると xml.status=0になります 試行錯誤した結果、最初はわざとxmlhttp.send "" として、null送信してから xml.status = 400 を取得 改めて xmlhttp.send [postデータ]とすると、xml.status=200 となって プログラム的には正常作動するのです。なぜなのかな? (2)スケジューラーで「ユーザーがログオンしているかどうかにかかわらず実行する」 にチェックすると、ログオンしていてもxmlStatus=0になります。 |