Как я могу получить имя компьютера, который обращается к моей веб-странице в VB?

Я уже попробовал эти методы:

  • System.Net.Dns.GetHostName
  • Environment.MachineName
  • My.Computer.Name
  • Environ $ ("имякомпьютер")

Каждый возвращает APPDEV, который, как я предполагаю, является именем сервера, на котором размещена моя веб-страница.
Я даже попросил, чтобы друзья попробовали мою страницу с этими методами, и они видят то же самое.
Как я могу получить его, чтобы он возвращал имя ПК, введенное при первоначальной настройке, как Joseph-PC?

2 ответа

Решение

Поскольку браузер не сообщает имя компьютера серверу, веб-страница (к счастью) не может узнать имя вашего компьютера.

Ты можешь попробовать HttpContext.Current.Request.UserHostName, Аналогично, UserHostAddress извлекает IP-адрес клиента. Но эта информация может быть недействительной в большинстве случаев из-за (законной) конфиденциальности или сетевых (NAT, Proxies, ...) причин. Поэтому я бы не стал сильно полагаться на наличие или достоверность данных.

Если вам предоставлен IP-адрес в UserHostName, вы можете использовать System.Net.Dns.GetHostEntry, чтобы выполнить обратный поиск DNS, чтобы найти имя. Это также может работать не при всех обстоятельствах, так как не каждый клиент зарегистрирован на DNS-сервере.

Другие вопросы по тегам