问题引出:
<hr/>
在JSP里,获取客户端的IP地址的方法是:requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 requestgetRemoteAddr()方法获取的IP地址是:127001或 1921681110,而并不是客户端的真实IP。
经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>
在ASP中使用 RequestServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。
要想透过代理服务器取得客户端的真实IP地址,就要使用 RequestServerVariables(">
原因是电脑的IP地址和DNS服务器未设置成自动获取。
问题解决方案:
以win7为例,XP道理相同
Win7点击桌面右下角的网络图标,打开网络共享中心,接着点击左侧“更改适配器设置”。
客户端提示认证失败,认证客户端停顿在:“寻找认证服务器。。 。”的故障?
故障原因:可能网卡有问题,或者没有选择“使用私有组播地址认证” 。
故障解决方法:检查网线是否正常;将速率改成10M,在实际运行中存在某些线路无法进行 100M 的 数据交换;在认证客户端中设置“使用私有组播地址认证” ;重装网卡驱动程序;如果问题依旧存在, 更换一张网卡。如果在更换网卡之后可以正常上网,证明以前用的网卡质量不好,请使用新的网卡。
你最好可以换台电脑访问网址看获取IP地址状况。
如果你测试访问的时候,使用的是 localhost 进行访问的,那么服务器端获得的也就是127001,因为localhost是一个环路地址,特殊的如果你是通过你的ip地址进行访问的,那么获得的IP地址就会是正确的了 要通过自己本地的IP进行访问,在控制面板的网络连接里找到本地连接,查看它的属性,并找到"详细信息"按钮,点击后d出的对话框中IPV4地址就是本地地址或打开命令行,输入 ipconfig /all 即可找到本地地址在浏览器中通过这个IP地址访问,就不会是127001了
先得保证客户端联网。然后利用某个IP服务器接口。
$(function(){var api = "://pvsohucom/cityjson";//前面加上>
在ASP中使用 RequestServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。
要想透过代理服务器取得客户端的真实IP地址,就要使用 RequestServerVariables(">
aspnet中获取客户端ip地址的两种方法
方法一:
/// <summary>
/// 获取用户登录IP
/// </summary>
/// <returns></returns>
string GetIp()
{
//可以透过代理服务器
string userIP = RequestServerVariables[">
以上就是关于如何通过Request获取用户真实IP全部的内容,包括:如何通过Request获取用户真实IP、ip地址自动获取怎么设置、如果要在网站上获取客户的ip并保存在数据库中在asp.net中怎么实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)