このコード例は、APE 公式 Web サイト ( http://www.ape-project.org/ ) からのものです。
var client = new APE.Client();
client.load();
client.core.join('testChannel');
client.request.send('foo', {ping: 'ho hey', fieldWidthBinaryDataOrSpecialCharacters: '+/'});
client.onRaw('bar', function(raw, pipe) {
console.log('echo : ' + raw.data.echo);
console.log('Receiving : ' + raw.data.hello);
});
+/
サーバー側でデータを受信すると、特殊文字が URL エンコードされていることがわかりました( %2B%2F
)。
APE は常に GET を使用していますか? POST を使えば、Binary データを含む任意のデータを投稿できると思いますよね。しかし、JSON で POST を使用するにはどうすればよいでしょうか。
私の場合、Binary 形式を使用しなくても、Base64 を使用する必要があります。ただし、標準の Base64 は+/
URL セーフではないものを使用します。Base64 の URL セーフ バージョンの使用を提案するかもしれませんが、URLSafeBase64 は標準ではなく、他の問題を引き起こす可能性もあります。
私は何か誤解していますか?
ありがとう。
ピーター