2016-11-24 70 views
0

這是獲取網站的IPPHP - IP規範化測試

$ip = gethostbyname(parse_url('http://www.wikipedia.com', PHP_URL_HOST)); 
print_r($ip); 

但是,什麼是檢查用PHP做網站的IP重定向到網站的域名的正確方法的代碼?

編輯: 看來我在第一個問題上還不夠清楚。這個問題是基於seositecheckup.com測試。其中一個警告說:

IP規範化測試
您的網站的IP 198.35.26.96不會重定向到您網站的域名。如果搜索引擎根據其IP和域名爲您的網站建立索引,這可能會導致重複的內容問題。

於是,我問我怎麼會自己檢查,如果該網站的IP重定向到網站的域名,在PHP

+0

可能其他人將有其他的想法,但我認爲你需要使用捲曲功能檢查響應頭。快速谷歌「捲曲反應頭」和... http://stackoverflow.com/questions/9183178/ph​​p-curl-retrieving-response-headers-and-body-in-a-single-request –

+0

@DuaneLortie所以你是說要檢查IP的標題或? – codexy

+0

我不太確定你想要做什麼 –

回答

0

的問題說的是一套,但代碼還隱含着另外...

  • 如果你正在尋找一個IP到主機名的查詢,那麼還有另外一個功能:gethostbyaddr()
  • 如果你說的時候確實的意思是「重定向」,你將不得不使用一個HTTP客戶端庫(比如cURL)查看http://ipAddress/是否返回30x狀態碼和Location標題p選擇基於主機名的URL。
+0

我編輯我的問題要更清楚 – codexy

+0

我可以用get_headers而不是curl來做到嗎? – codexy

+0

是的,這可能是最簡單的方法。 – Narf

0

你正在做的是反向IP查找。

gethostbyname做轉發IP地址,gethostbyaddr做反向IP查找。

的代碼示例:

$ip = gethostbyname(parse_url('http://www.wikipedia.com', PHP_URL_HOST)); 
print_r($ip); 
$domain = gethostbyaddr($ip); 
print_r($domain); 
+0

我編輯我的問題更清晰 – codexy

+0

這將輸出:text-lb.esams.wikimedia.org – codexy