0

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の完全なライブラリをまだ調べていませんが、誰か提案があるかどうか疑問に思っていました. ドキュメントを読みましたが、探しているものが見つかりませんでした。

ありがとう!

4

2 に答える 2

1

確認してもらえますか

 self.paramString

正しい?どんな風に見えますか?

于 2012-06-27T17:06:53.130 に答える
1

最終的に ASIFormDataRequest を使用し、値とキーを設定しました。それはうまくいったようです!

于 2012-06-27T19:25:38.917 に答える