1

リクエストを行うために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;
        }
    });
}
4

3 に答える 3

2

オブジェクト内のホスト サイトを取得できthisます。

console.log(this._header.match(/Host\:(.*)/g));
于 2013-09-25T14:02:32.240 に答える
1

答えは console.log(res.socket._httpMessage._headers.host); です。

于 2015-03-30T19:06:15.267 に答える