2010-04-24 5 views
0

Un de mes projets consiste à télécharger plusieurs fichiers de grande taille en utilisant ASIHTTPRequest en mode asynchrone. J'espère lire les informations d'en-tête renvoyées http pour obtenir la taille des fichiers. Je sais que [request respsonseHeaders] (requestFinished: méthode delegate) peut le faire. J'ai testé et trouvé que requestFinished: n'est déclenché que lorsqu'il a terminé le téléchargement d'un fichier entier. Mais j'espère accéder à la fonction [demande respsonseHeaders] avant que ASIHTTPRequest commence à télécharger des fichiers (juste quand ASIHTTPRequest a reçu les informations d'en-tête renvoyées).lire l'en-tête HTTP info dans ASIHttpRequest asynchrone

Je ne trouve pas l'événement déclenché pour cela.

Bienvenue tout commentaire

Merci

InterDev

Répondre

1

Vous pouvez regarder la méthode -handleBytesAvailable. C'est une méthode de rappel qui lit les données qui sont en flux. Vous pouvez également regarder la méthode -readResponseHeaders, où l'en-tête est traité.

4

Une nouvelle méthode déléguée a récemment été ajouté à ASIHTTPRequest à cet effet:

- (void)requestReceivedResponseHeaders:(ASIHTTPRequest *)request 
{ 
    NSLog(@"%@",[request responseHeaders]); 
} 

Vous pouvez avoir la demande appeler une méthode différente de votre délégué en mettant didReceiveResponseHeadersSelector.