0

当我使用 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);

有谁知道可能出了什么问题?谢谢!

4

2 回答 2

3

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

例如:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "-T dn $domain\r\n"); // Query
于 2013-12-04T14:28:14.737 回答
0

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

system('whois google.de');
于 2012-04-27T19:48:52.443 回答