SITUATION
Wenn 401 zurückgegeben wird, versuche ich es wie folgt:
%Vor%PROBLEM
WAS ICH VERSUCHT HABE
cancelAuthenticationChallenge:
auf willSendRequestForAuthenticationChallenge:
antworten, wird der zweite Aufruf abgebrochen, aber anstelle von 401 wird der Fehlercode -1012 (NSURLErrorUserCancelledAuthentication) ausgegeben und die tatsächliche Antwort maskiert
Wie deaktivierst du den Authentifizierungs-Challenge-Response-Mechanismus, damit du die Server-Antwort erhältst, ohne sie zweimal aufzurufen?
Sie haben einige Optionen, um die Authentifizierungsbehandlung vollständig anzupassen:
Nutzen Sie setWillSendRequestForAuthenticationChallengeBlock:
und setAuthenticationAgainstProtectionSpaceBlock:
von der Klasse AFURLConnectionOperation
und setzen Sie entsprechende Blöcke, in denen Sie den benötigten Mechanismus anpassen können.
Die Header enthalten Dokumentation.
Überschreibe connection:willSendRequestForAuthenticationChallenge:
in einer Unterklasse von AFURLConnectionOperation
. Dadurch wird die vollständige Einrichtung des Authentifizierungsmechanismus in AFNetworking überschrieben.
Beachten Sie, dass Sie die Authentifizierungsanfrage "Server validiert Client-Identität" nicht deaktivieren können - dies ist Teil des Servers. Sie MÜSSEN die korrekten Anmeldeinformationen für die angeforderte Authentifizierungsmethode angeben.
Tags und Links objective-c ios nsurlconnection cocoa-touch afnetworking