2010-09-25 8 views
0

Lorsque j'essaie d'envoyer une requête POST à ​​un site spécifique, la chaîne que j'essaie d'envoyer est tronquée. Quand je vérifie la longueur de la chaîne dans Xcode, elle a environ 55000 caractères. Le nombre de caractères reçus sur le site est sur 4500. Voici mon code:La requête iPhone POST tronque la chaîne

-(IBAction)convert { 

NSString *rosterText = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"]; 

NSString *params = [[NSString alloc] initWithFormat:@"roster=%@", rosterText]; 

NSString *paramsLength = [NSString stringWithFormat:@"%d", [params length]]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.thesite/index.php"]]; 

[request setHTTPMethod:@"POST"]; 

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-type"]; 

[request setValue:paramsLength forHTTPHeaderField:@"Content-Length"]; 

[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]]; 

NSLog(@"length = %@",paramsLength); 

[webView loadRequest:request]; 

[params release]; 

[request release]; 

}

J'ai un formulaire sur le site où vous pouvez insérer manuellement la chaîne et que tout fonctionne bien, il me semble que quelque chose ne va pas dans le codage des données POST.

Quelqu'un sait ce qui ne va pas ici? Juste ne peut pas sembler comprendre!

Merci beaucoup!

Répondre

0

Je ne suis pas sûr, ce qui ne va pas, mais je vous suggère d'utiliser ASIHTTPRequest.

ASIHTTPRequest est un outil facile à utiliser wrapper autour de l'API qui CFNetwork fait quelques-uns des aspects les plus pénibles de communiquer avec les serveurs web plus facile. Il est écrit en Objective-C et fonctionne à la fois dans les applications Mac OS X et iPhone .

+0

Fonctionne comme un charme maintenant! Merci beaucoup! – Ron