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