0

Air アプリがあり、クライアントがプロキシの背後にあるときはいつでもプロキシ認証ヘッダーを追加したいと考えています。urlRequest ヘッダーに「proxy-Authoriztion」ヘッダーを追加していますが、それでもユーザー名/パスワードの 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);

フィドラーを確認したところ、最初の応答は 301 で、proxy-authorization ヘッダーが追加されています。2 番目の応答は 407 で、proxy-authorization ヘッダーは追加されていません。

この後、OSプロンプトが表示されます。誰でもこれについて何か考えがありますか?

4

1 に答える 1

0

Authorizationヘッダーだけで、まったく同じ問題がありました。これが私の解決策です:

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

明らかな理由がないため、これは機能します。それを試してください(ただし、私の例の「Authorization」ヘッダーを「Proxy-Authorization」で変更することを忘れないでください)

于 2011-08-12T13:14:29.177 に答える