C#在获得客户端ip的时候,获得的ip地址为::1



简述

在C#编辑webform的.aspx文件代码运行中遇到了 Request.UserHostAddress()获取的值为::1
问题截图


分析

::1是一个ipv6地址,这意味着这个获取的IP值是在IPV6地址存在的时候才有的;因为我们的系统支持ipv6,ipv6/ipv4双栈DNS会根据顺序访问第一个可用的ip,所以会去访问::1而不是127.0.0.1。
这种情况只有在服务器和客户端都在同一台电脑上才会出现(而且是用localhost访问的时候才会出现


网上查到的切换IP值方法:

方法1:
若需转换成127.0.0.1需要更改hosts文件(在windows上文件目录应该是C:\Windows\system32\drivers\etc\hosts)部分内容来解决问题;
方法2:
修改ipv4优先级高于ipv6的记录到优先解析表中,通过修改优先级的方法解决;(重启后会导致电脑IPV6优先级不正常显示!!

更改hosts文件内容步骤

1.更改hosts文件内容

注释掉文件中的::1 localhost这一行,并增添一行代码

具体更改内容如下:

# ::1 localhost   //注释掉文件中的::1 localhost这一行
127.0<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值