2011-08-12 22 views
0

我有一個空中應用程序,並且我希望在我的客戶端位於代理之後添加代理授權標頭。我在urlRequest頭文件中添加了'proxy-Authoriztion'頭文件,但仍然得到了用戶名/密碼的操作系統提示符。在actionscript中的代理授權以避免OS提示

var loader:HTMLLoader = new HTMLLoader(); 
var be:Base64Encoder = new Base64Encoder(); 
be.insertNewLines = false; 
be.encode("test" + ":" + "test");  
var urlRequest:URLRequest = new URLRequest("http://google.co.in"); 
urlRequest.authenticate = false; 
urlRequest.requestHeaders.push(new URLRequestHeader("Proxy-Authorization","Basic "+ be.toString())); 
page.htmlLoader.load(urlRequest); 

我檢查提琴手和我所看到的是, 1響應爲301,並加入代理授權頭 第二個反應是407,而且不添加代理授權頭。

之後,我得到操作系統提示符。有人對此有任何想法嗎?

回答

0

我有完全相同的問題,只是爲了授權標題。這是我的解決方案:

var service:HTTPService = new HTTPService(); 
... 
var encoder:Base64Encoder = new Base64Encoder(); 
encoder.encode(userName+':'+password); 
service.headers["Authorization"] = "Basic " + encoder.toString(); 
... 
service.send(); 

對於一些沒有明顯的原因,這個作品。嘗試(但記得更改我的示例中的「授權」標題爲「代理授權」)

+0

我正在使用urlRequest,無法嘗試使用HTTPService。 – Mady

+0

要使用基本身份驗證發送單個請求,您提到的方法很好,但如果您需要提出許多請求,加載受密碼保護的網頁將無法使用此方法。你需要使用URLRequestDefaults.setLoginCredentialsForHost() – Mady