Подтвердить что ты не робот

Request.UserHostAddress с результатом возврата ":: 1"

Я пытаюсь получить IP-адрес клиента, используя

    HttpContext.Request.UserHostAddress;

но возвращает ::1.

Как это решить?

4b9b3361

Ответ 1

::1 для localhost, возможно this может оказаться полезным.

Ответ 2

Это не ошибка: вы подключаетесь из localhost на IPv6. ::1 - это обратный адрес - двойной двоеточие означает "опущенные нули" , поэтому этот адрес соответствует адресу 1.

Если вы разрабатываете новое программное обеспечение, я бы настоятельно рекомендовал вам отключить IPv6. Самое простое время для реализации поддержки - это с самого начала, и тратить время на обходные пути - это, возможно, просто тратить силы на то, чтобы отложить неизбежное.

Ответ 3

Хотя верно, что это не ошибка, возможно, вы можете проверить эту ссылку, где ваша проблема хорошо описана и "решена". В нем говорится, что способ, которым ведет себя эта проблема, зависит от операционной системы, поскольку пользователь исправил некоторые проблемы в приложении, работающем в Windows Server 2008, комментируя строку ::1 в файле hosts, в то время как ему пришлось раскомментировать его в Windows 7.

Надеюсь, вам это удалось! Удачи!

Ответ 4

Это не ошибка, на самом деле вы используете приложение на локальном хостинге, оно просто дает вам IP-адрес локального хоста, и это формат ipv6