遇到了跟之前的一篇文章一樣的問題
各種方法擷取本地外網ip時,各種返回::1。
大部分是說因為ipv6的原因。但關掉後,電腦徹底無法上網了。
不知道現在有沒有除了介面以外的解決辦法。
回複討論(解決方案)
ipv6 的 ::1,就是 ipv4 的 127.0.0.1
不知道你是怎麼做的
你擷取的是ipv6?
ipv6 的 ::1,就是 ipv4 的 127.0.0.1
不知道你是怎麼做的
度娘“本機外網ip地址 php”就會出現n中解決辦法,下面截取一例:
function get_onlineip() { $onlineip = ''; if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $onlineip = $_SERVER['REMOTE_ADDR']; } return $onlineip; } var_dump(get_onlineip());
本機是武漢的,本意是想獲得本機IP: 27.19.xxx.xxx 湖北省武漢市 電信 這種ip地址。$_SERVER我也不是很懂。在localhost上啟動並執行,所以出現::1是因為ipv6,還是localhost,我也不是很清楚。可以不深究這個問題,因為只想從php裡獲得 27.19.xxx.xxx這種ip地址
麻煩了
你在本機訪問就只能得到 ::1 或 127.0.0.1 或 你機器的 ip
外網的 ip 要從外網訪問才能得到
如果是Linux系統用php執行“curl ifconfig.me”可以得到外網IP
你在本機訪問就只能得到 ::1 或 127.0.0.1 或 你機器的 ip
外網的 ip 要從外網訪問才能得到
嗯,這個別人也跟我講過。
我奇怪的是,度娘“本機外網ip地址”,就會給我27.19.xxx.xxx的ip地址。我也沒有一個頁面可以給他訪問來擷取我外網的ip地址啊,所以也不能在cmd中用ipconfig。
那度娘是怎麼得到“27.19.xxx.xxx”的?
如果是Linux系統用php執行“curl ifconfig.me”可以得到外網IP
謝啦~~目前用的wamp環境。
你訪問他時,用的不就是外網 ip 嗎?
你訪問他時,用的不就是外網 ip 嗎?
懂了。。3Q。。