2011-01-23 8 views
0

現在、私はResty(http://projects.lukeredpath.co.uk/resty/)を使用してObjective-C用の独自のAPIラッパーを作成しています。NSStringリクエストを%@ 40に変換する

しかし、リクエスト自体では、実際に何が送信されているのかを判断することができます。NSString *電子メール(@をスキャンして、別のNSStringに格納する前に正当な電子メールであることを確認します)が実際に変更されます。

例では、[email protected]が@のためにスキャンされ、要求のためにNSString *電子メールに送信されています。しかし、実際のGET要求を送信すると、NSStringはjoe%40example.comに変更されます。

これはRestyリクエストによるものですか、要求前にNSStringをエンコード/デコードする必要がありますか?

答えて

0

はい、URLデコードしてから検証タスクを実行する必要があります。ここで

はそのドキュメントが持っているものです。

NSDataのか、そのままリクエストボディを設定し、他のデータ符号化可能な ペイロードを。 符号化可能なペイロードがUTF8

http://projects.lukeredpath.co.uk/resty/documentation.html

+0

ねえを使用して エンコードされます!私はすでにNSString * encoded = [email stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]を使ってこれを試みました。 paramとしてエンコードされて送信されます。それでも、%40はまだ存在し、@ではありません。 –

+0

NSStringにNSStringを使用するとNSStringを変換でき、dataUsingEncodingを設定したものが自動的に送信されると言っていますか? –

+0

ここには別のものがあります(レシィはNSDictionaryとNSDataのペイロードと、dataUsingEncoding:メソッド(NSStringなど)を呼び出すことでNSDataに変換できるオブジェクトをサポートしています。NSDataペイロードを渡す必要があります。 – Ismail

関連する問題