如题,后台通过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;
通常获取不到客户端主机名,除非客户端支持DNS反向解析,通过IP地址方向解析出主机名
我发现只有同一个局域网可以解析出,不在同一个网段就不行
而且我尝试了下,在局域网下,不管是用ip还是pc主机名,都可以获取到相应的IHostEntry。但是换个网段就失效了
@小鸡蛋白: 路由器不允许
这是客户的隐私信息,一般不主动给服务端,服务端是不可能知道的
只能知道IP
确实是,在同一网段且支持DNS反向解析的才能获取到主机名,否则只能获取到ip地址。