Как мне сделать, чтобы моя локальная среда Windows 7 использовала ipv4? - PullRequest
0 голосов
/ 16 сентября 2011

У меня есть приложения ASPX MVC v3, которые используют

String sourceIp = Request.ServerVariables["REMOTE_ADDR"];

для получения IP-адреса.Проблема в том, что это возвращает мне версию IPv6.Мне нужна версия IPv4.

Насколько я понимаю, веб-сайт ничего не может сделать, чтобы получить версию IPv4, мне нужно лишь указать серверу (мой компьютер, это локальная разработка) использовать IPv4.вместо IPv6.

Мы отключили IPv6 в Local Area Connection Status -> Properties, но он все еще захватывает версию IPv6.

Как я могу получить адрес IPv4?

Примечание: мне нужен IPv4, потому что мы используем стороннюю службу, которая требует IP в качестве одного из параметров в формате IPv4.

ОТВЕТ

Нужно подождать 8 часов, прежде чем я смогу опубликовать ответ

Отработано легко.Когда я нажимаю отладчик, он открывает IE с http://localhost:8023/mysite, если изменить localhost на 127.0.0.1, тогда он будет использовать 127.0.0.1 в качестве IP-адреса, который является форматом IPv4.

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Я рекомендую сначала проверить значение HTTP_X_FORWARDED_FOR, как обсуждалось в посте Фила Хаака "A Gotcha Определение IP-адреса пользователя"

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]

Вот отличный пример кода , показывающий, как именно это сделать

0 голосов
/ 28 сентября 2011

Отработано легко обойти. Когда я нажимаю debug, он открывает IE с http://localhost:8023/mysite,, если изменить localhost на 127.0.0.1 , тогда он будет использовать 127.0.0.1 в качестве IP-адрес в формате IPv4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...