关于fsockopen函数连接43端口的问题
我现在搞一个域名whois信息查询的程序,现在有些域名可以查,比如com,net的域名可以查到。
有些类型的却查不了,比如我现在要查询cn域名的whois信息始终失败
代码:
PHP code
$query = "www.net.cn"; //要查询的域名
$server = "whois.cnnic.cn"; //whois服务器地址
$data = ""; //初始化最终输出的变量值
$fp = @fsockopen($server, 43);
fputs($fp, $query);
while (!feof($fp)) {
$data .= nl2br(fgets($fp, 128));
}
fclose($fp);
echo $data;
我用工具检测了whois.cnnic.cn的43端口是开放的
奇怪为什么会输出空白呢?
是我的程序有问题?还是哪里出了问题?
------解决方案--------------------我记得有的是可以屏蔽查询的,是不是这个问题.
------解决方案--------------------
[User:liangdong Time:18:20:36 Path:~/php]$ telnet whois.cnnic.cn 43
Trying 218.241.97.14...
Connected to whois.cnnic.cn.
Escape character is '^]'.
www.net.cn
Domain Name: www.net.cn
ROID: 20021209s10021s00003058-cn
Domain Status: clientDeleteProhibited
Domain Status: clientUpdateProhibited
Domain Status: clientTransferProhibited
Registrant ID: hc034904482-cn
Registrant Organization: 北京万网志成科技有限公司
Registrant Name: 王娟
Registrant Email: wjuan@hichina.com
Sponsoring Registrar: 北京万网志成科技有限公司
Name Server:ns3.hichina.com
Name Server:ns4.hichina.com
Registration Date: 1998-10-19 00:00:00
Expiration Date: 2020-10-19 00:00:00
Dnssec Deployment: N
Connection closed by foreign host.
telnet可以,说明它呀的用\n判断结束,$query = "xxxx\n"
------解决方案--------------------好奇怪呀!
发起会话时连握手信号都没有
就是打个电话不也要先确认一下对方是谁吗?