PHP Curl получить код страницы - пример
Primary tabs
Итак, рассмотрим пример использования Curl в PHP
Вот товарищ приводит нам такой пример функции для получения текста страницы:
function get_web_page( $url ) { $uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14"; $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа (не много ли!?) $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; }
а использовать её можно как-то так:
$url = 'google.com'; $data = get_web_page($url); // загружаем результат с помощью нашей функции echo $data['content']; //выводит код на экран
Если что-то не получается (страница не выводится) - то опять же - можно воспользоваться уже имеющимся функционалом и дописать
к последнему куску кода ещё две строки:
echo ($data['errno'] . '<br>'); // код "ошибки" echo ($data['errmsg'] . '<br>'); // расшифровка кода
Тогда мы увидим ошибку и её номер - например "хост не отвечает".
Возможно, вам захочется изменить кодировку текста - делается это так
- Log in to post comments
- 11685 reads