如何在node.js的http响应中获取主机名? [英] How to get host name in http response in node.js?

查看:30
本文介绍了如何在node.js的http响应中获取主机名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用node.js的http模块进行请求。我在数据库里有一堆网址。我正在从数据库中获取这些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));

这篇关于如何在node.js的http响应中获取主机名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆