關於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: [email protected]
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"
------解決方案--------------------
好奇怪呀!
發起會話時連握手訊號都沒有
就是打個電話不也要先確認一下對方是誰嗎?