如何打印您所在网站的“公共”IP地址?

问题描述

到目前为止我已经尝试过:

echo gethostbyname(gethostname());

但这给了我“本地”IP(不确定这是否正确)127.0.0.1,而我想要“公共”IP地址。

例如,对于网站 stackoverflow.com,我在使用网站服务 https://ipinfo.info 时得到 151.101.193.69 ......这就是我正在寻找的。​​p>

解决方法

使用此代码,

function getIPAddress() {  
 //whether ip is from the share internet
 if(!empty($_SERVER['HTTP_CLIENT_IP'])) {  
            $ip = $_SERVER['HTTP_CLIENT_IP'];  
    }  
 //whether ip is from the proxy 
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
 }  
//whether ip is from the remote address 
else{  
         $ip = $_SERVER['REMOTE_ADDR'];  
 }  
 return $ip;  

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...