Дек 24

CURL это сокращение от Client Uniform Resource Locators что в переводе означает Клиент Единого Указателя Ресурсов, не будем вдаваться в подробности кем и когда он был придуман (история создания, я думаю, тут не к чему) Для чего он нужен я разъясню ниже. И так, начнем:

Эта статья является продолжением нашей темы раздела РНР, поэтому если Вы не читали предыдущие статьи можете с ними ознакомиться перейдя в соответствующий раздел (Ссылка)

Функция file_get_contents() это конечно хорошо, но не всегда удается получить web страницу этой функцией, поэтому мы будем использовать curl.  Для этого для начала откроем наш файл конфигурации php.ini, найдем там и раскоментируем строки extension_dir = «ext» и extension=curl для этого просто уберем «;»  в начале строки, после чего сохраним и закроем, теперь мы можем пользоваться библиотекой curl.

Давайте теперь возьмем наш парсер из предыдущей статьи (Ссылка) и заменим функцию  file_get_contents()

 

<?php

require 'libs/phpQuery.php';

$ch = curl_init('http://www.banki.ru/products/currency/cash/moskva/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$doc = curl_exec($ch);
curl_close($ch);

$query = phpQuery::newDocument($doc);
$usd_ru = $query->find('div.currency-table__large-text:eq(0)')->text();

echo "USD RU = ".$usd_ru."\n";

?>

 

 

но так будет не очень удобно если нам нужно будет получить не одну страницу, а несколько, поэтому лучше сделать функцию, которая будет принимать URL и возвращать страницу, а потом уже обращаться к ней каждый раз когда будет нужно.

 

<?php
require 'libs/phpQuery.php';

$doc = curl('http://www.banki.ru/products/currency/cash/moskva/');

$query = phpQuery::newDocument($doc);

$usd_ru = $query->find('div.currency-table__large-text:eq(0)')->text();
echo "USD RU = ".$usd_ru."\n";
function curl($url){  $ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$doc = curl_exec($ch);

curl_close($ch);

return $doc;}

?>

 

Давайте запустим и проверим

Как видим все работает.

CURL поддерживает такие протоколы как http, https, ftp, gopher, telnet, dict, file, и ldap.  CURL также умеет работать с сертификатами HTTPS, посылать запросы к HTTP серверам методами POST и PUT, закачивать файлы по протоколам HTTP и FTP , использовать прокси-серверы, cookies и аутентификацию пользователей. Однако CURL не может загружать сайты целиком, а лишь части его, поэтому его нельзя считать браузером.

 

автор: Admin

Оставьте свой отзыв

RSS
Follow by Email
Facebook
Google+
http://cl-box.ru/biblioteka_curl
Twitter
SHARE
LinkedIn