%20%E9%94%99%E8%AF%AF%EF%BC%9Aphp%20%E4%B8%AD%E7%9A%84%E7%BD%91%E7%BB%9C%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E7%AB%AF%E5%8F%A3%2043.png)
我已经编写了一些查找域名(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
可能会很有用。如果您可以在此处粘贴一个,我们也许能够更好地调试您的问题(命令的输出whois
和telnet
也很有用,正如 SvenW 所说)。