javascript - 如何在 node.js 的 http 响应中获取主机名?

标签 javascript node.js http httpresponse

我正在使用 node.js 的 http 模块来发出请求。我在数据库中有一堆 url。我正在从数据库中获取这些 url 并在循环中发出请求。但是当响应到来时,我想获取该响应的主机名,因为我想根据该响应更新数据库中的某些内容。但是我没有得到哪个站点的响应,所以我无法更新该站点的记录。

代码是这样的:

for (site = 0; site < no_of_sites; site++) {
    options = {
        hostname: sites[site].name,
        port: 80,
        method: 'GET',
        headers: {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0'
        }
    };

    var req = http.request(options, function (res) {
        console.log('HEADERS: ' + JSON.stringify(res.headers));
        if (res.statusCode == 200) {

            //Update record;
        }
    });
}

最佳答案

我们可以在 this 对象中获取主机站点。

console.log(this._header.match(/Host\:(.*)/g));

关于javascript - 如何在 node.js 的 http 响应中获取主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003183/

相关文章:

javascript - 使用属性或插槽将数据传递给子元素

javascript - 获取类型错误 : Unknown encoding: 1 while running the server script with Mongoose

node.js - 持续交付的功能标志解决方案

json - 如何从 AWS Lambda 函数查询第三方 JSON API

Javascript - 字符串到多层数组

javascript - 需要来自 html 中的 javascript 函数的信息

javascript - 如何在react js的输入标签中获取以逗号分隔的输入数组

node.js - Typescript:instanceof 检查不会智能转换

http - angular2 等待错误 http 响应

http - CORS 预检请求的正确状态代码是什么?