PHP - 与卷曲DENIC的whois查询不能很好地工作
问题描述:
当我检查与的fsockopen它总是提供了一个结果由Matchi.com提供回到域的avability,但做同样的卷曲周围的查询的75%时失败。 curl_errno然后传递错误代码56(CURLE_RECV_ERROR)。 当我尝试使用whois.crsnic.net检查.com域时,cURL每次都能正常工作。只有whois.denic.de制造麻烦。PHP - 与卷曲DENIC的whois查询不能很好地工作
下面的代码:
$domain = "google.de";
$whois_server = "whois.denic.de";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $whois_server.":43"); // Whois Server
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $domain."\r\n"); // Query
$whois = curl_exec ($ch);
echo "RESULT: ".$whois;
echo "<br/>";
echo curl_errno ($ch);
echo "<br/>";
这里的的fsockopen查询:
fsockopen($whois_server,43, $errno, $error, 5);
有没有人的想法可能是错了吗?谢谢!
答
你在linux或windows?如果在Linux只是执行:
system('whois google.de');
+0
这是给最糟糕的建议。为了运行whois客户端,不要从程序中逃脱到shell。你必须在PHP特定的库做的whois查询或底部的它只是打开一个TCP套接字到端口43。 – 2018-01-04 14:54:30
答
whois.denic.de
需要-T dn
您的请求之前,预先考虑。
例如为:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "-T dn $domain\r\n"); // Query
DENIC已建立一定的抗僵尸的过滤器。所以为了处理很多请求,你必须使用API。 – 2012-04-27 17:51:17
不要使用HTTP库做了'whois'查询。你只需要打开一个TCP套接字上的端口43 – 2018-01-04 14:53:47