Recevez-têtes HTTP via NSURLRequest / NSURLConnection à Cocoa

voix
21

Je travaille sur trouver comment recevoir en-têtes HTTP via une requête faite avec NSURLConnection. En général, une demande est faite avec quelque chose d'aussi simple que ce qui suit:

    NSURLConnection *connection = [[NSURLConnection alloc]
    initWithRequest:request
        delegate:self];

La seule façon que j'ai personnellement trouvé dans la documentation abondante d'Apple pour recevoir des têtes de réponse se fait par un appel synchrone en utilisant la méthode de classe NSURLConnection suivante:

+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error

Ici, je peux facilement faire référence à un objet de réponse de type NSURLResponse. Le problème ici est que je ne suis pas prêt à faire des requêtes synchrones via un appareil mobile, en particulier avec un réseau qui a une latence élevée tels que EDGE. Est-il possible d'obtenir des résultats similaires avec la valeur par défaut, le comportement asynchrone de NSURLConnection?

Créé 25/10/2008 à 22:04
utilisateur
Dans d'autres langues...                            


1 réponses

voix
42

Dans votre délégué de connexion, ajoutez la -connection:didReceiveResponse:méthode. Si vous faites une demande HTTP standard, l'objet NSURLResponse passée sera effectivement un objet NSHTTPURLResponse, et répond au -allHeaderFieldsmessage. Cela devrait être ce que vous cherchez.

Créé 25/10/2008 à 22:23
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more