我目前正嘗試通過fsockopen連接至nominets whois服務,但我在閱讀答覆時遇到問題。使用PHP fsockopen WHOIS
代碼:
$fp = fsockopen("whois.nic.uk", 43, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
echo "<h1>Connected To The WHOIS Server.</h1>\n\n";
}
fwrite($fp, "madeupdomain.co.uk\r\n");
$lookup = fread($fp, 4096);
fclose($fp);
echo $lookup;
現在我成功地連接到whois服務器和收到答覆,但它總是錯過年底關閉。
域名:madeupdomain.co.uk註冊人:Made Up Inc.註冊人類型:未知註冊人地址:123 Fake Road City UK註冊商:Made Up。 t/a Madeup [Tag = MADEUP]網址:http://www.madeupadomain.com相關日期:註冊日期:1955年2月14日更新日期:2016年2月11日更新日期:2001年2月11日註冊狀態:註冊至續展日期。名稱服務器:ns1.madeupnamesrver.com ns2.madeupnamesrver.com ns3.madeupnamesrver.com ns4.madeupnamesrver.com在00:00:00進行的WHOIS查詢2011年12月07日 - 這個WHOIS信息是由Nominet UK提供的.uk域名的中央註冊表。此信息和.uk WHOIS爲:版權所有Nominet UK 1996 - 2011.您不得訪問.uk WHOIS或使用其中的任何數據,除非在http://www.nominet.org.uk/whois的全部使用條款允許,其中包括以下限制:( A)使用用於廣告,或它的重新包裝,重新編譯的數據,redistribut
正如你可以看到它缺少一個真正的WHOIS查詢的最後一部分,這總是會發生的,但在那裏被切斷的變化取決於位置在我查詢的域上。
有沒有人有任何建議?
謝謝。
謝謝,這似乎已經解決了它使用循環直到文件結束。 fread($ fp,4096); 沒有EOF就把它自己增加到8192沒有做任何事......只是好奇爲什麼? 謝謝 – Hairzo
發送數據需要時間,遠程服務器無法在開始閱讀之前返回整個響應。 – duskwuff
設置sleep()是合乎邏輯的;讀之前? – Hairzo