PHP - 使用cURL进行DENIC whois查询效果不佳

时间:2012-04-27 17:43:53

标签: php curl whois

当我使用fsockopen检查.de-domain的可用性时,它总是会提供结果,但是当使用cURL执行相同操作时,大约75%的查询都会失败。然后curl_errno传递错误代码56(CURLE_RECV_ERROR)。 当我尝试使用whois.crsnic.net检查.com-domain时,cURL每次都能正常工作。只有whois.denic.de会遇到麻烦。

以下是代码:

$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);

有谁知道可能出错?谢谢!

2 个答案:

答案 0 :(得分:3)

whois.denic.de要求在您的请求之前添加-T dn

E.g:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "-T dn $domain\r\n"); // Query

答案 1 :(得分:0)

你是在linux还是windows?如果在linux中执行:

system('whois google.de');