当我用fsockopen检查.de域名的可用性时,它总是会给出一个结果,但当我用cURL做同样的事情时,大约75%的查询会失败。然后,curl_errno提供错误代码56 (CURLE_RECV_ERROR)。当我尝试用whois.crsnic.net检查.com域名时,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);有没有人知道哪里会出问题?谢谢!
发布于 2013-12-04 22:28:15
whois.denic.de要求在您的请求之前添加-T dn。
例如:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "-T dn $domain\r\n"); // Query发布于 2012-04-28 03:48:52
你用的是linux还是windows?如果在linux中,只需执行:
system('whois google.de');https://stackoverflow.com/questions/10355375
复制相似问题