Один из вариантов - изменить логику для просмотра 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-адрес, который они мне сообщают. Таким образом, ваш тестовый код и реальные пользователи будут подобраны.