Wie kann ich einen Authentifizierungsdialog in Flex vermeiden, wenn Httpservice oder URLRequest verwenden?

StackOverflow https://stackoverflow.com/questions/404199

Frage

Dies bezieht sich diese Frage . Ich schreibe eine Flex app (a WindowedApplication), den REST verwendet. Alles ist in Ordnung, wenn ich mit einem gültigen Authentifizierung zu veröffentlichen, aber wenn ich zufällig einen ungültigen Benutzername oder Passwort an das REST-API zu übergeben (ein Twitter-REST-API, um genau zu sein), ein Authentifizierungsdialog erscheint.

Das ist keine wünschenswerte User Experience, und es geschieht sowohl wenn ich Http und URLRequest. Es scheint nicht ein Ereignis zu sein, die ich den Dialog abzubrechen fangen kann.

Hier ist, was mein Code wie folgt aussieht:

    var request:URLRequest = new URLRequest('http://twitter.com/statuses/update.json');
    request.method = URLRequestMethod.POST;
    var encoder : Base64Encoder = new Base64Encoder();
    encoder.encode(this.user + ':' + this.password);
    request.requestHeaders.push(new URLRequestHeader("Authorization", "Basic " + encoder.toString()));
    var params:Object = new Object();
    params.status = msg;                
    request.data = params;

    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, HandleRequestComplete);
    loader.load(request);

Bin ich etwas fehlt? Gibt es einen besseren Weg, dies zu nähern?

War es hilfreich?

Lösung

Von der Twitter-API Doc hier :

  

suppress_response_codes: Wenn diese   Parameter vorhanden sind, alle Antworten   wird mit einem 200-OK-Status zurückgeführt werden   Code - auch Fehler. Dieser Parameter   existiert Flash aufnehmen und   JavaScript laufenden Anwendungen in   Browser, die alle nicht-200 abfangen   Antworten. Wenn es verwendet wird, ist es dann die Aufgabe   der Client-Fehler zu bestimmen,   Staaten durch die Reaktion Körper Parsen.   Verwenden Sie mit Vorsicht, da solche Fehler   Nachrichten können geändert werden.

Andere Tipps

Das ist, weil die URL anfordern Authentifizierung verarbeitet. Um zu vermeiden, dass die als nächstes tun:

request.authenticate = false;

Viele Grüße!

Alain.

Ich weiß nicht, ob dies in einem normalen Flex App funktioniert, aber in AIR-Anwendungen können Sie eine Liste der erlaubten Antwortcodes auf gültig betrachtet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top