sous iOS, comment puis-je recevoir le code de statut http (404 500 200, etc.) pour une réponse d'un serveur Web. Je suppose que cela se trouve dans NSUrlConnectionDelegate.
Réponse d' Objective-C ou Monotouch .NET ok.
sous iOS, comment puis-je recevoir le code de statut http (404 500 200, etc.) pour une réponse d'un serveur Web. Je suppose que cela se trouve dans NSUrlConnectionDelegate.
Réponse d' Objective-C ou Monotouch .NET ok.
NSHTTPURLResponse* urlResponse = nil;
NSError *error = nil;
responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
La requête aSynchronous devrait également avoir un moyen d’obtenir le NSHTTPURLResponse.
Vous obtenez le code de statut comme ceci:
int statusCode = [urlResponse statusCode];
int errorCode = error.code;
Dans le cas de codes d'erreur très utilisés (tels que 404), l'erreur sera insérée mais avec un code différent (401 sera -1012).
Voici comment procéder dans MonoTouch for .NET pour les utilisateurs de C #. Cela se trouve dans NSUrlConnectionDelegate .
public override void ReceivedResponse (NSUrlConnection connection, NSUrlResponse response)
{
if (response is NSHttpUrlResponse)
{
var r = response as NSHttpUrlResponse;
Console.WriteLine (r.StatusCode);
}
}
En regardant cette autre question de stackoverflow, il semble que vous puissiez gérer les codes d’état http dans la méthode de délégation - (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)response
:
- (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse*)response
{
if ([response isKindOfClass: [NSHTTPURLResponse class]])
statusCode = [(NSHTTPURLResponse*) response statusCode];
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.