首页 新闻 会员 周边 捐助

asp.net core web api如何获取客户端电脑主机名

1
[待解决问题]

如题,后台通过asp.net core web api部署在linux上面,前端使用angular,然后通过windows浏览器访问前端,跟后台通讯,问如何才能获取到客户端的电脑主机名?
在网上搜了一些代码,通过ip来获取主机名,但是返回异常'No such host is known.'
var name = System.Net.Dns.GetHostEntry("180.103.64.30").HostName;

小鸡蛋白的主页 小鸡蛋白 | 菜鸟二级 | 园豆:202
提问于:2021-01-12 21:22
< >
分享
所有回答(3)
1

通常获取不到客户端主机名,除非客户端支持DNS反向解析,通过IP地址方向解析出主机名

dudu | 园豆:29737 (高人七级) | 2021-01-12 22:03

我发现只有同一个局域网可以解析出,不在同一个网段就不行

支持(1) 反对(0) 小鸡蛋白 | 园豆:202 (菜鸟二级) | 2021-01-13 10:54

而且我尝试了下,在局域网下,不管是用ip还是pc主机名,都可以获取到相应的IHostEntry。但是换个网段就失效了

支持(0) 反对(0) 小鸡蛋白 | 园豆:202 (菜鸟二级) | 2021-01-13 10:57

@小鸡蛋白: 路由器不允许

支持(0) 反对(0) dudu | 园豆:29737 (高人七级) | 2021-01-13 22:44
1

这是客户的隐私信息,一般不主动给服务端,服务端是不可能知道的
只能知道IP

Giant150 | 园豆:1172 (小虾三级) | 2021-01-13 11:12
0

确实是,在同一网段且支持DNS反向解析的才能获取到主机名,否则只能获取到ip地址。

不懂01的ITer | 园豆:402 (菜鸟二级) | 2023-01-17 10:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册