NSURLConnection を使用するプロジェクトの NSURLRequests のほとんどを ASIHTTPRequest 呼び出しに変換しようとしています。ASIHTTPRequest での HTTPBody の設定に関する問題に遭遇しました。NSURLRequest 呼び出しについて私が持っていたものは次のとおりです。
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.urlString]];
[req setHTTPMethod:@"POST"];
[req setHTTPBody:[self.paramString dataUsingEncoding:NSUTF8StringEncoding]];
[self _sendRequest:req];
そして、ASIに変換するために、これは私がこれまでに持っているものです:
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:self.urlString]];
[request setRequestMethod:@"POST"];
[request appendPostData:[self.paramString dataUsingEncoding:NSUTF8StringEncoding]];
[request setCompletionBlock:^{
NSLog(@"ASIHTTP request finished: %@", [request responseString]);
// Do stuff here
}];
[request setFailedBlock:^{
NSError *error = [request error];
NSLog(@"ASIHTTP error: %@", [error description]);
}];
[request startAsynchronous];
これを ASI で実行すると、次のエラーが発生します。
ASIHTTP error: Error Domain=ASIHTTPRequestErrorDomain Code=6 "Unable to start HTTP connection" UserInfo=0x10ddf6b0 {NSLocalizedDescription=Unable to start HTTP connection}
編集このエラーは修正されましたが、ボディが設定されていないため、データはまだ正しく送信されていません。
これは、体を正しく設定していないことに関係していると思います。ASI の setPostBody を使用してみましたが、同じ結果しか得られませんでした。これは NSURLRequest では正常に機能しますが、ASI では機能しません。私はそれが本当に単純だと確信しており、ASIの完全なライブラリをまだ調べていませんが、誰か提案があるかどうか疑問に思っていました. ドキュメントを読みましたが、探しているものが見つかりませんでした。
ありがとう!