http请求文件头

Http request document head

我需要获取文档标题。

所以我尝试发送请求,然后发送响应 html 以获得标题。

示例(通过 nodejs 模块 request):

request.get("http://www.google.com", function(err, res, body) {
  var title = body.match(/<title>(.*?)</title>/g)[1];
})

但是当文档特别大的时候。请求很慢。

有没有快速获取文档标题的方法?请建议。谢谢

请求可以为您提供收到的解压缩数据流:http://github.com/request/request#examples(第二个示例)

您可以继续将接收到的数据追加到缓冲区中,并检查它是否有您想要的内容 ("</title>")。一旦你得到它,你就可以得到你的标题并忽略流中缓冲区的其余部分。

var request = require('request');
var buffer = '';
var flag = 0;
request({
        method: 'GET',
        uri: 'http://www.google.com',
        gzip: true
    }).on('data', function(data) {
        if (buffer.indexOf('</title>') == -1)
            buffer += data;
        else done();
    });
function done() {
    if (flag) return;
    flag++;
    var title = buffer.match(/<title>(.*?)<\/title>/)[1];
    console.log(title);
}