0

ノードを使用して小さなicloudクライアントを作成しているので、データの一部をプルダウンして分析できます。現在、ログインシーケンスのスクリプトを作成しています。応答を受け取ったとき、ヘッダーは正常であり、期待するセッションCookieはそこにありますが、JSONであるはずの応答本文は暗号化されているように見え、プレーンテキストでさえありません。SSL経由ですが、ヘッダーが読み取り可能である場合、本文も読み取り可能であるべきではありませんか?欠落している設定やノードのバグはありますか?最新の0.8.1を使用しています

{ date: 'Sat, 07 Jul 2012 14:51:56 GMT',
 'x-apple-request-uuid': '............',
 'x-responding-instance': '...........',
 'cache-control': 'no-cache, no-store, private',
 'access-control-allow-origin': 'https://www.icloud.com',
 'access-control-allow-credentials': 'true',
 'set-cookie': [........],
 'content-type': 'application/json; charset=UTF-8',
 'content-encoding': 'gzip',
 'content-length': '126' }
���������VJ-*�/R�R
K��LI,IUJ-,M-.Q��U��,.��KW��u�q�
wur
��
��v�SH����LU�Q��+.I�KN�bhldijiaaf/.MNN-.V�JK�)N��$���l���
4

1 に答える 1

6

応答ヘッダーによると、content-encoding: gzip応答は暗号化されておらず、圧縮されているだけです。Nodeのzlibモジュールを使用して、その場で解凍できます。ブログのホームページをエンドポイントとして使用する例を次に示します(サーバーは要求されたときにgzip圧縮されたデータで応答するため)。

http = require('http');
zlib = require('zlib');
url = require('url');

var uri = url.parse("http://brandontilley.com/");
uri.headers = {'accept-encoding': 'gzip'};

var request = http.get(uri, function(res) {
  var buffers = [];
  res.pipe(zlib.createGunzip()).on('data', function(chunk) {
    buffers.push(chunk);
  }).on('end', function() {
    console.log(Buffer.concat(buffers).toString());
  });
});
request.end();

zlibモジュールのNode.jsドキュメントには、さらにいくつかの例があります。

于 2012-07-07T18:10:51.750 に答える