iPhone POST请求截断字符串

时间:2010-09-25 13:11:29

标签: iphone xcode post nsstring nsmutableurlrequest

当我尝试向特定站点发送POST请求时,我尝试发送的字符串被切断。当我在Xcode中检查字符串的长度时,它大约是55000个字符。网站上收到的字符数量约为4500。 这是我的代码:

-(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];

}

我在网站上有一个表格,你可以手动插入字符串,一切正常,所以在我看来POST数据的编码出错了。

有人知道这里出了什么问题吗?似乎无法弄明白!

非常感谢!

1 个答案:

答案 0 :(得分:0)

我不确定,出了什么问题,但我建议您使用ASIHTTPRequest

  

ASIHTTPRequest易于使用   围绕CFNetwork API的包装器   使一些更乏味的方面   与Web服务器通信   更轻松。它是用Objective-C编写的   适用于Mac OS X和iPhone   应用