当我尝试向特定站点发送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数据的编码出错了。
有人知道这里出了什么问题吗?似乎无法弄明白!
非常感谢!
答案 0 :(得分:0)
我不确定,出了什么问题,但我建议您使用ASIHTTPRequest。
ASIHTTPRequest易于使用 围绕CFNetwork API的包装器 使一些更乏味的方面 与Web服务器通信 更轻松。它是用Objective-C编写的 适用于Mac OS X和iPhone 应用