【问题标题】:WHOIS query objectWHOIS 查询对象
【发布时间】:2012-05-20 14:45:41
【问题描述】:

好吧....在学习 Web 开发时,我经常会遇到困难,因为我知道我错过了一点基本信息,只是努力找出答案。发生这种情况是因为有经验的程序员不关心重述基础知识。

无论如何,我正在尝试从 WHOIS 服务器检索信息,即 whois.apnic.net。现在这个查询工作正常并返回所有 1528 个字节

<?php
$abc=fsockopen("whois.godaddy.com", 43);
$xyz="website.com";
fputs($abc,$xyz);
$output = fread($abc,1528);
print_r($output);
if(!$output)
{
echo "there is no output";
}
?>

但是这个只返回前两行

<?php
$abc=fsockopen("whois.apnic.net", 43);
$xyz="194.6.248.10";
fputs($abc,$xyz);
$output = fread($abc,1528);
print_r($output);
if(!$output)
{
echo "there is no output";
}
?>

我在代码中尝试了很多修改,例如 fgets 代替 fread,url 代替 ip 地址,当我将 while(!feof($abc)) 条件放入前面的代码中时,它会返回所有内容,但是当我把它放在第二个代码中,如果我取消时间限制,它就会超时或继续工作。上述 IP 地址来自欧洲,但在线 Apnic WHOIS 工具提供了有关它的信息,并且 WHOIS API 文档还指出,Apnic 可以联系其他注册机构并检索有关任何 IP 地址的信息。

apnic 网站谈论发送和返回对象,只是“对象”,没有参考。我假设它在谈论 XML 对象。我只想要一个小的、基本的、简单的示例来说明如何查询此 API 并获取和输出“对象”。谢谢!

【问题讨论】:

    标签: xml object whois


    【解决方案1】:

    您要查找的 IP 地址在由 RIPE (Whois.ripe.net) 而非 APNIC 管理的范围内。

    【讨论】:

    • 感谢您的提示,但 Apnic 表示其 WHOIS 可以处理所有地址。我仍然会稍后尝试不同的地址。目前我在阻止端口 43 的防火墙后面。因此,如果有人可以使用亚洲 IP 运行代码,我会说谢谢...
    【解决方案2】:
        $whoisserver = 'whois.verisign-grs.com';
    $domain = 'name.com';
    $port = 43;
    $timeout = 10;
    $fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);
    fputs($fp, $domain . "\r\n");
    while(!feof($fp)){
        $out .= fgets($fp);
    }
    fclose($fp);
    
    1. .com whois whois.verisign-grs.com
    2. .net whois whois.verisign-grs.com
    3. .org whois whois.pir.org

    服务网址:http://akan.online/checkName.com 六一快乐

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多