繁体   English   中英

node.js - XMLHttpRequest,获取标题信息

[英]node.js - XMLHttpRequest, get header informations

我想获得网站“ http://facebook.com ”的标题。 这应该是302 Moved Permanently,我想调用响应头中提供的引用链接。

这是我的代码:

var req = new XMLHttpRequest();
req.open('GET', "http://facebook.com/", false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
console.log(headers);

这是错误消息:

/home/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:230
for (var i in response.headers) {

TypeError: Cannot read property 'headers' of undefined
    at getAllResponseHeaders (/home/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:230:27)
    at Object.<anonymous> (/home/browse/init.js:67:19)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

我希望你能帮助我。

如果要将xmlHttpRequest与Node js一起使用,则必须安装所需的包。

首先,在控制台中写下这一行:

npm install xmlhttprequest

然后,当您在服务器上编写.js文件时,必须先指出

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();

以下代码应该足够,根据评论,您不需要XHR

var http = require('http');

var options = {
  hostname: 'www.google.com',
  port: 80,
  method: 'GET'
};

var req = http.request(options, function(res) {
  console.log('headers:\n' + JSON.stringify(res.headers));
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('body:\n' + chunk);
  });
});

req.on('error', function(e) {
  console.log('problem with request: ' + e.message);
});
req.end();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM