0

特定のサイトに 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 データのエンコーディングで何か問題が発生しているようです。

ここで何がうまくいかないのか知っている人はいますか?それを理解できないようです!

どうもありがとう!

4

1 に答える 1

0

何が問題になっているのかわかりませんが、 ASIHTTPRequestを使用することをお勧めします。

ASIHTTPRequestは、CFNetwork APIの使いやすいラッパーであり、Webサーバーとの通信の面倒な側面のいくつかを容易にします。これはObjective-Cで記述されており、MacOSXとiPhoneの両方のアプリケーションで動作します。

于 2010-09-25T13:24:47.967 に答える