fsockopen() 错误:php 中的网络无法访问端口 43

fsockopen() 错误:php 中的网络无法访问端口 43

我已经编写了一些查找域名(whois)的 Php 代码,但是失败了!!

这是我的一些代码:

函数 checkdomain($server,$domain){
全局 $response;
    $connection = fsockopen($server,43);
    fputs($connection, "域" . $domain . "\r\n");
    while(!feof($connection)){
        $响应。= fgets($连接,4096);
    }
    fclose($连接);
}
检查域名(“whois.crsnic.net”,“www.example.com”);

代码在我的本地主机(apache、php、mysql、OS -> Win XP)上运行,但是当我将其上传到我的主机(Linux)时它失败了。我总是看到以下错误/消息:

Warning: fsockopen() [function.fsockopen]: unable to connect to whois.crsnic.net:43 
(Network is unreachable) in /home/hamid0011/public_html/whois/whois.php on line 37

我该怎么办?这是我的主机的问题还是 whois 服务器的问题(但它在本地主机中工作)还是我的代码的问题?

答案1

要么是您的主机阻止了端口 43 上的传出通信,要么是您使用的共享服务器 IP 对 WHOIS 服务器造成了严重影响,以致于他们不得不阻止您的 IP(这种可能性不大)。

无论如何,您都需要联系您的主机。

如果您有 shell 访问权限,获取traceroute whois.crsnic.net可能会很有用。如果您可以在此处粘贴一个,我们也许能够更好地调试您的问题(命令的输出whoistelnet也很有用,正如 SvenW 所说)。

相关内容