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;
 } 
Was it helpful?

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
scroll top