当我使用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);
有谁知道可能出错?谢谢!
答案 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');