我有以下代碼可以創建xmlhttp類的服務器端對象。我正嘗試連接到需要基本身份驗證的站點。我能夠得到這個與下面的代碼一起工作。XmlHttp請求基本身份驗證問題
有什麼問題?那麼我使用公開電話傳遞憑證。僅這一點是不夠的。我還必須使用手動計算的base64編碼用戶名:密碼組合來設置授權標頭。如果我嘗試設置標頭而不將憑據傳遞給公開呼叫,則會失敗。叫我瘋了,但是當我將證書傳遞給公開的時候,這就是我應該做的。如果我設置標題,那就是我應該做的。對?做這兩件事似乎是不對的。對?
這是一個錯誤還是一個小故障?
另外的背景是: IIS 5 & ASP經典 收到的錯誤時,這兩個項目被省略的一個是HTTP狀態401: 「您無權查看此頁 您沒有權限查看此目錄或頁面使用您提供的憑據,因爲您的Web瀏覽器正在發送Web服務器未配置爲接受的WWW-Authenticate標頭字段。「
由於IIS發出請求我不能用Fiddler檢查它:-(
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 2009-08-31 20:21:14
@Eric:儘管OP需要在IIS服務器上這樣做,他可能會或可能沒有權限執行此操作。 – AnthonyWJones 2009-09-01 08:41:51