php using CURL to grab whois record
-
19-09-2019 - |
Question
Example: http://www.whois.net/whois/hotmail.com
When open in browser, output is shown.
When using curl call, it show nothing.
What's wrong? I want to return whole page result, then use regular expression to retrieve data at Expiration Date: 29-Mar-2015 00:00:00 line.
$postfields= null;
$postfields["noneed"] = "";
$queryurl= "http://www.whois.net/whois/hotmail.com";
$results= getUrlContent($postfields, $queryurl);
echo $results;
function getUrlContent($postfields,$api_url)
{
if( !extension_loaded('curl') ){die('You need to load/activate the cURL extension (http://www.php.net/cURL).'); }
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url); // set the url to fetch
curl_setopt($ch, CURLOPT_HEADER, 0); // set headers (0 = no headers in result)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // type of transfer (1 = to string)
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // time to wait in seconds
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$content = curl_exec($ch); // make the call
curl_close($ch);
return $content;
}
Solution
Whois.net checks user agent
. So add these to your function before you call curl_exec
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
OTHER TIPS
The error you see is not related to whois.com, it shows you have not enabled cURL module for your PHP. Try enabling the PHP cURL module first.
Follow this thread if you are not sure how to enable PHP cURL module: How to enable cURL in PHP / XAMPP
Shirish
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow