iPhone POST stringa di richiesta tronca
-
05-10-2019 - |
Domanda
Quando si tenta di inviare una richiesta POST a un sito specifico la stringa provo a trasmettere viene tagliato fuori. Quando controllo la lunghezza della stringa in Xcode è lunga circa 55000 caratteri. La quantità di caratteri ricevuti sul sito è di circa 4500. Questo è il mio codice:
-(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];
}
Ho un modulo sul sito dove è possibile manualmente inserire la stringa e che tutto funziona benissimo, quindi mi sembra qualcosa sta andando storto nella codifica dei dati POST.
Qualcuno sa che cosa va male qui? Proprio non riesco a capirlo!
Grazie mille!
Soluzione
Non sono sicuro, che cosa sta andando male, ma io suggerirei di utilizzare ASIHTTPRequest .
ASIHTTPRequest è un facile da usare wrapper API CFNetwork che rende alcuni degli aspetti più noiosi di comunicare con i server web Più facile. E 'scritto in Objective-C e lavora a Mac OS X e iPhone applicazioni.