我到处搜索过,但没有提到这个键的定义位置,或者类似的键HTTP_X_FORWARDED_FOR
,例如REMOTE_ADDR
等。
遗憾的是,这些都没有解决我当前的问题——所有这些字典键从哪里来?它们的规范在哪里,以便人们通过查看它们所包含的内容来知道它们的存在并学习使用它们?
编辑:我正在使用 .NET Framework 4.6.0,其中 System.Net.Http 的版本是 4.0.0.0。为了获取客户端 IP,我正在执行以下操作:
public string GetSomeIp(HttpRequestMessage request)
{
HttpContextWrapper context =
request.Properties["MS_HttpContext"] as HttpContextWrapper;
return (context == null) ?
string.Empty : (context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
?? context.Request.ServerVariables["REMOTE_ADDR"]).Split(',')[0].Trim();
}
我想找到文档,它MS_HttpContext
详细解释了 、 、 以及它们的定义位置REMOTE_ADDR
,HTTP_X_FORWADED_FOR
这样我就可以看到所有其他键以及它们的实现/正确用法的更多详细信息。
我知道以下服务器变量,但此处没有提及此处使用的键。(除了REMOTE_ADDR)
翻阅古今
相关分类