我有一个简单的PHP脚本,可以从外部服务器获取IP WHOIS信息来固化cURL。
以其基本形式:
$ip = "11.22.33.44";
$whois_server = "whois.ripe.net";
$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_HEADER, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "$ip\r\n"); // Query
$whois = curl_exec ($ch);
echo "RESULT: ".$whois;
echo "<br/>";
echo curl_errno ($ch);
echo "<br/>";
现在,这在服务器上运行良好:whois.ripe.net
,也在whois.arin.net
和whois.apnic.net
上。
但是当我查询whois.lacnic.net
时,它会显示以下错误:
% No match for "IPADDRESSHERE
/ HTTP/1.1
HOST: WHOIS.LACNIC.NET:43
ACCEPT:"
我知道whois.lacnic.net
有效,因为我可以使用fsockopen
通过其他脚本查询。但我需要它通过cURL工作。
我认为服务器不喜欢我提供的CURLOPT_CUSTOMREQUEST
。但我不知道如何形成它。