xmlhttpクラスのserversideオブジェクトを作成する次のコードがあります。基本認証が必要なサイトに接続しようとしています。私はこれを下のコードで動作させることができます。XmlHttp要求の基本認証の問題
問題が何ですか?私は公式な電話を使って資格を渡しています。それだけでは不十分です。手動で計算されたbase64でエンコードされたusername:passwordの組み合わせを使用して承認ヘッダーも設定する必要があります。開いた呼び出しに資格情報を渡さずにヘッダーを設定しようとすると、失敗します。私を狂っていると呼びますが、資格証明書を渡すと、それは私がやるべきことです。ヘッダーを設定すると、それだけでいいはずです。右?両方をすることは、何かが正しくないように思えます。右?
これはバグですか?
追加の背景は次のとおりです。 「あなたが表示する権限がありません あなたがこのページを表示する権限がありません: 2つのアイテムのいずれかが省略されたときにエラーを受信5 & ASPクラシック がHTTPステータス401でIISこのディレクトリまたはページは、WebブラウザがWebサーバーが受け入れるように設定されていないWWW-Authenticateヘッダーフィールドを送信しているため、指定した資格情報を使用しています。 MSXML2に煮詰めすることができ
IISは、私はあなたがthis既知の制限(またはバグ)を打っていると信じてい:-(
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlhttp.setTimeouts 5000, 5000, 10000, 10000 'ms - resolve, connect, send, receive
xmlhttp.open "GET", "http://example.com/", False, "username", "password"
xmlhttp.setRequestHeader "Authorization", "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
xmlhttp.send
確かに検査できますこのようなリクエストはFiddlerで発生します。ServerXMLHTTPはWinHTTPに基づいています; http://www.fiddler2.com/fiddler/help/hookup.asp#Q-WinH TTP – EricLaw
@ Eric:OPは、IISサーバー上で行う必要がありますが、実行する権限がある場合とない場合があります。 – AnthonyWJones