2009-03-12 14 views

Antwort

2

Ich konnte keine genaue Antwort finden und habe keine Zeit, jetzt zu experimentieren, aber es scheint, dass die einzige Möglichkeit ist, Header mit NsIHttpChannel manuell zu untersuchen.

EDIT: Ok, ich habe nsIHttpAuthManager gefunden:

Dieser Dienst ermöglicht den Zugriff auf zwischengespeicherte HTTP-Authentifizierung Benutzer-Credentials (Domäne, Benutzername, Passwort) für Websites während der aktuellen Browser-Sitzung besucht.

Sieht aus wie genau Sie brauchen.

+0

Ich gehe davon aus, dass ich eine Testanfrage ausführen muss, aber es sollte bereits im Speicher von Firefox sein. Ich versuche eigentlich, zusätzliche Anfragen zu vermeiden. –

+0

Ich habe keine Ausnahme gefunden, die mit Benutzeranmeldeinformationen arbeitet, aber während ich danach gesucht habe, habe ich die nsIHttpAuthManager-Schnittstelle gefunden. –

3

Hier ist ein Beispielcode für nsIHttpAuthManager mit:

die Komponente instanziiert:

var proxyAuthenticationComponent = Components.classes["@mozilla.org/network/http-auth-manager;1"].getService(Components.interfaces.nsIHttpAuthManager); 

die Informationen Set:

proxyAuthenticationComponent.setAuthIdentity('http','192.168.0.1',80,"basic","Some Realm","","","username","password"); 

die Informationen holen:

var domain = {}; //Will contain {value: ""} 
var username = {}; //Will contain {value: "username"} 
var password = {}; //Will contain {value: "password"} 
proxyAuthenticationComponent.getAuthIdentity('http','192.168.0.1',80,"basic","Some Realm","",domain,username,password); 

Ich habe das in einer Thunderbird-Erweiterung verwendet. Hoffe diese Hilfe.

Verwandte Themen