2010-02-09 1 views
1

Пример: http://www.whois.net/whois/hotmail.comPHP с использованием CURL, чтобы захватить WHOIS рекорд

При открытии в браузере, выход показан.

При использовании вызова curl он ничего не показывает.

Что случилось? Я хочу вернуть результат всей страницы, а затем использовать регулярное выражение для извлечения данных по дате истечения срока действия: 29-Mar-2015 00:00:00.

$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; 
} 
+0

Что связано с регулярными выражениями в этом вопросе? –

+0

Удалено ссылки регулярного выражения. Вероятно, они захотят использовать регулярное выражение после получения результатов из CURL, чего можно избежать с помощью моего последнего комментария. – Anthony

+0

Удостоверьтесь, что вы читали - http://www.whois.net/terms-and-conditions, особенно эту часть: у вас нет доступа к системе WHOIS.NET или к ней, используя , использование электронных процессов, объем и автоматизированный за исключением случаев, когда это необходимо для регистрации доменных имен или изменения существующих регистраций. –

ответ

3

Whois.net проверяет user agent. Таким образом, добавить их к вашей функции перед вызовом 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); 
0

Ошибка вы видите не связано с whois.com, он показывает вам не включен CURL модуль для PHP. Сначала попробуйте включить PHP cURL-модуль.

Выполните эту тему, если вы не знаете, как включить PHP CURL модуль: How to enable cURL in PHP/XAMPP

Shirish