0

アドオンを使用して、プロキシ サーバーで自動的に認証を行う必要があります。

それを行う他の拡張機能のソースもチェックアウトしましたが、次のように行います。

var httpRequestObserver =
{
    observe: function(subject, topic, data)
    {
        if (topic === "http-on-modify-request") {
            var channel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);
            channel.setRequestHeader("Proxy-Authorization", "Basic myauthorizationtoken" , false);
        }
    }
};

リクエスト オブザーバーは、すべての送信リクエストに認証ヘッダーを追加します。通常のプロキシが設定されている場合は正常に機能しますが、私の場合、特定のリクエストのみがプロキシを使用して行われ、他のリクエストは行われないプロキシ pac URL があります。

その場合、基本的にクレデンシャルを平文で含む認証ヘッダーが、プロキシ経由でアクセスされないすべての Web サイトに送信されます。

明らかにそれは不可能です。したがって、現在のリクエストがプロキシ リクエストであるかどうかを確認してから、ヘッダーを設定する必要があります。

または、別の方法を一緒に見つけてください...

クロムでは、次のようにしました。

chrome.webRequest.onAuthRequired.addListener(handleAuthRequest,
  {urls: ["<all_urls>"]}, ["asyncBlocking"]);


function handleAuthRequest(details, callback) {

  if (details.isProxy === true){

    callback({authCredentials: {username: localStorage['login'],
                              password: localStorage['pass']}});
   }
     callback();

}

明らかにこれが最適です!しかし、私はそれを行うための良い方法をFirefoxで見ることができません.

4

1 に答える 1

0

サブジェクトにはnullまたは設定された属性proxyInfoがあり、proxyInfoにはさらに調べる属性があることがわかります

于 2013-03-15T00:49:48.227 に答える