我正在创建一个使用节点的小型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???
Run Code Online (Sandbox Code Playgroud)
根据响应头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();
Run Code Online (Sandbox Code Playgroud)
有关zlib模块的Node.js文档的更多示例.
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |