私はこれをノードスクリプトに持っています(この質問のために簡略化されています):
var http = require("http"),
url = require("url"),
options = url.parse("http://example.com/"),
moreOptions = url.parse("http://example.net/"),
callback,
request,
moreDifferentRequest;
callback = function( res ) {
console.log(res.socket._httpMessage._headers.host);
}
request = http.request( options, callback );
request.end();
moreDifferentRequest = http.request( moreDifferentOptions, callback );
moreDifferentRequest.end();
res.socket._httpMessage._headers.host
にホスト名が存在しないため、からホスト名を取得していますres.headers
。
しかし、下線は私に一時停止を与えます。彼らは私にこう言います。「ねえ、これは内部使用のための私有財産のように扱われるsocket
ので、それを読まないでください。後のバージョンで完全に変更される可能性があり、私たちはあなたに話すつもりはありません。 。」
ここで間違っていると思うのが正しい場合、コールバック内でホスト名を取得する正しい方法は何ですか?それとも、アンダースコアを完全に誤解しているだけで、私がしていることは問題ありませんか?