PHP fsockopen WHOIS

时间:2011-12-07 23:49:30

标签: php fsockopen whois

我目前正在尝试通过fsockopen连接到通过服务提供服务的nominets,但我在阅读回复时遇到了问题。

使用的代码:

$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相关日期:注册日期:1925年2月14日续订日期:2016年2月11日最后更新:2001年2月11日注册状态:注册到续订日期。名称服务器:ns1.madeupnamesrver.com ns2.madeupnamesrver.com ns3.madeupnamesrver.com ns4.madeupnamesrver.com WHOIS查询于2011年12月7日00:00:00生成 - 此WHOIS信息由Nominet UK免费提供.uk域名的中央注册局。此信息和.uk WHOIS是:版权所有Nominet UK 1996 - 2011.除非http://www.nominet.org.uk/whois完整的使用条款允许,否则您不得访问.uk WHOIS或使用其中的任何数据,包括限制:(A)将数据用于广告,或重新包装,重新编译,再分发

正如你所看到的,它缺少真正的whois查找的最后一部分,这总是会发生,但它被切断的位置会根据我查询的域而改变。

有人有任何建议吗?

感谢。

1 个答案:

答案 0 :(得分:3)

您只读取4096字节:

fread($fp, 4096);

如果你想阅读更多(你显然需要),只需增加数字或循环直到EOF:

while (!feof($fp)) {
   $contents .= fread($fp, 8192);
}