台灣最大程式設計社群網站
線上人數
1160
 
會員總數:246219
討論主題:189783
歡迎您免費加入會員
討論區列表 >> CSS/HTML5/Bootstarp >> 如何在flex程式中直接訪問有做整合式Windows驗証的網站
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何在flex程式中直接訪問有做整合式Windows驗証的網站
價值 : 50 QP  點閱數:1586 回應數:0
樓主

WaG
門外漢
0 1
4 0
發送站內信

大家好 小弟是flex的新手 有個問題試了很久在網路上也google不到解答 所以想請教大家
還望請有經驗的各位大大提供一些解答或參考 感激不盡 ~

我的需求是要在flex程式中能直接訪問有做整合式Windows驗証的網站(不跳提示輸入帳號與密碼的對話框)
,網站架設的方式是 iis6 + ASP.NET
,google搜尋了很久都只有找到能直接訪問基本驗証的網站的方式

我的程式碼如下
假設網站是 "http://61.60.3.200/testWindows/test2.aspx" , Windows帳戶密碼為 administrator,PWD


import mx.utils.Base64Decoder;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.Base64Encoder;
import mx.rpc.http.HTTPService;
import mx.rpc.http.mxml.HTTPService;

private function initApp():void
{
var base64enc:Base64Encoder = new Base64Encoder();

base64enc.insertNewLines = false;
base64enc.encode("61.60.3.200\administrator:PWD"); //帳號密碼透過base64編碼

var user:String = base64enc.toString();

var http:HTTPService = new HTTPService;
http.url = "http://61.60.3.200/testWindows/test2.aspx"; //指定要訪問的網站
http.headers["Authorization"] = "Negotiate "+user; //傳送驗証方式與帳號密碼
http.headers["Host"] = "61.60.3.200"; //指定domain
http.method = "POST";

http.addEventListener(ResultEvent.RESULT,resultHandler);
http.addEventListener(FaultEvent.FAULT,faultHandler);
http.send();
}

private function resultHandler(e:ResultEvent):void
{
Alert.show(e.result.toString());
}
private function faultHandler(e:FaultEvent):void
{
//處理失敗
Alert.show(e.message.toString() );
}



程式碼都會跑到回應錯誤的函數 faultHandler(),而不會到回應成功的resultHandler()
錯誤訊息(e.message.toString())如下

(mx.messaging.messages::HTTPRequestMessage)#0
body = (Object)#1
name = "ranbo"
clientId = (null)
contentType = "application/x-www-form-urlencoded"
destination = "DefaultHTTP"
headers = (Object)#2
DSEndpoint = "direct_http_channel"
httpHeaders = (Object)#3
Authorization = "Negotiate NjEuNjMuMi4yMjFhZG1pbmlzdHJhdG9yOn5mY2IwMDIyMQ=="
Host = "61.60.3.200"
messageId = "10EB15B4-1F3F-F9F2-0B5A-8C04B73C9DF5"
method = "POST"
recordHeaders = false
timestamp = 0
timeToLive = 0
url = "http://61.60.3.200/testWindows/test2.aspx"

請問我該如何修改我的程式碼? 能直接訪問網站 ~ 謝謝 ~

搜尋相關Tags的文章: [ windows ] , [ 驗証 ] , [ header ] , [ Authorization ] , [ Authenticate ] ,
本篇文章發表於2011-04-25 19:34
目前尚無任何回覆
   

回覆
如要回應,請先登入.