1

我需要在 Request.ServerVariables 集合中设置 HTTP_X_FORWARDED_FOR 值。我正在尝试使用 Fiddler(请参阅本文)。

所以我设置了一个自定义的 HTTP 请求:

GET http://myhost/ HTTP/1.1 http_x_forwarded_for: my.fake.ip.1, my.fake.ip.2 Host: myhost.

请求被正确执行。

但是当我调试代码时, Request.ServerVariables("HTTP_X_FORWARDED_FOR") 是空的。我哪里错了?Fiddler 是正确的工具吗?

4

1 回答 1

3

您发送的标头应该是x-forwarded-for. 这Request.ServerVariables正是它所说 的服务器变量。它不仅包含请求中发送的 http 标头。

将标头值放入服务器变量时,IIS 会根据标头名称为变量创建一个名称,但不是逐字逐句的名称。它将所有字符转换为大写,全部替换-_并添加前缀HTTP_到标题名称以创建服务器变量名称。添加前缀以防止任意标头为其他固定服务器变量名称起别名。

于 2012-04-19T15:54:44.700 回答