亲爱的所有人,我在 ASP.Net C#?中如何从公共IP 托管的网站获取客户端系统的私有IP userhostname ,它显示的是Internet连接的全局IP,它对于网络中的所有计算机都是相同的。请指教。
先谢谢
Anoop George Thomas
答案 0 :(得分:4)
简短的回答是否定的,不是来自服务器端。您可以编写查找系统实际IP地址的客户端代码,但您可能需要通过浏览器插件来执行此操作。
更好的问题是“你为什么要这样做?”通常,如果您必须拥有内部IP,那么您做错了。
答案 1 :(得分:2)
不幸的是,这不是你能够拉的东西。
现在,您可以获取通过代理或其他类似转发设备的机器的IP。这是一个使用HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR IP的示例函数,如果它们在您的服务器环境中可用。
<?php
function getIP(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];
}else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
echo getIP();
?>