在经典ASP中设置HTTP_X_FORWARDED_FOR服务器变量
问题描述:
我需要在Request.ServerVariables集合中设置HTTP_X_FORWARDED_FOR值。我尝试与提琴手(见this article)。在经典ASP中设置HTTP_X_FORWARDED_FOR服务器变量
所以我成立了一个自定义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是否是正确的工具?
答
您要发送的标头应为x-forwarded-for
。 Request.ServerVariables
正是它所说的服务器变量。它不仅包含请求中发送的http头。
将标头值放入服务器变量时,IIS会在标头名称上创建基于的变量的名称,但不是逐字的名称。它将所有字符转换为大写,将-
全部替换为_
,并将前缀HTTP_
添加到标题名称中以创建服务器变量名称。添加前缀是为了防止混淆其他固定服务器变量名称的任意头部。