设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 3943|回复: 0

[求助] 請問flex程式如何直接訪問有做整合式Windows驗証的網站 (不跳帳密輸入的對話框) ?

[复制链接]
发表于 2011-4-26 11:48:27 | 显示全部楼层 |阅读模式
大家好 小弟是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"
  
  請問我該如何修改我的程式碼? 能直接訪問網站 ~ 謝謝 ~
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-18 06:54 , Processed in 0.092616 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表