一种选择是更改逻辑以查看 IP 地址或X-Forwarded-For标头。当请求通过代理服务器时,此标头通常用于指示原始 IP 地址。虽然是的,你不需要在这里考虑代理,但这样做会给你一个非常简单的方法来测试你的逻辑。
我认为这将是您最快的路线,而不是试图欺骗 IP 地址。
编辑
Uri uriObj = new Uri("http://localhost");
HttpWebRequest request =
(HttpWebRequest)WebRequest.CreateDefault(uriObj);
request.Headers.Add("X-Forwarded-For", "125.125.125.125");
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
Console.WriteLine(reader.ReadToEnd());
编辑
您需要将服务器端逻辑更改为:
string ip = Request.Headers.Get("X-Forwarded-For");
if (string.IsNullOrEmpty(ip))
{
ip = Request.UserHostAddress;
}
这基本上表示如果包含标头,则使用它们,否则使用他们告诉我的 IP 地址。这样你的测试代码和真实用户都会被选中。