在经典ASP中设置HTTP_X_FORWARDED_FOR服务器变量

在经典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-forRequest.ServerVariables正是它所说的服务器变量。它不仅包含请求中发送的http头。

将标头值放入服务器变量时,IIS会在标头名称上创建基于的变量的名称,但不是逐字的名称。它将所有字符转换为大写,将-全部替换为_,并将前缀HTTP_添加到标题名称中以创建服务器变量名称。添加前缀是为了防止混淆其他固定服务器变量名称的任意头部。