特定のサイトに 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 データのエンコーディングで何か問題が発生しているようです。
ここで何がうまくいかないのか知っている人はいますか?それを理解できないようです!
どうもありがとう!