В этом небольшом уроке я решил показать как делать базовые вещи с помощью библиотеки curl. Комментировать буду каждую значимую строку.
Если вы не знакомы с curl, то сперва изучите соответствующую учебную литературу и руководства. Подобного в интернете более чем достаточно, в том числе и на русском языке.
Как скачать страницу, зная ссылку?
// Создаем подключение
if( $curl = curl_init() ){
// Задаем ссылку
curl_setopt($curl,CURLOPT_URL,'http://seoximik.ru');
// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
// Скачиваем
$out = curl_exec($curl);
// Показываем скачанные данные
echo $out;
// Закрываем соединение
curl_close($curl);
}Есть прокси, как скачать страницу по ссылке через него? Спамерам на заметку.
CURL умеет самостоятельно работать с http-прокси, socks (соксы) 4 и 5 версии. По умолчанию курл работает с http-проксями, но опцией CURLOPT_PROXYTYPE можно задать какой именно прокси будет использован (CURLPROXY_HTTP, CURLPROXY_SOCKS5, насчет константы CURLPROXY_SOCKS4 – не уверен, возможно в PHP ее отключили).
// Создаем подключение
if( $curl = curl_init() ){
// Задаем ссылку
curl_setopt($curl,CURLOPT_URL,'http://seoximik.ru');
// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
// Задаем тип проски - сокс5
curl_setopt($curl,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);
// Указываем сам сокс
curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:1080');
// Скачиваем
$out = curl_exec($curl);
// Показываем скачанные данные
echo $out;
// Закрываем соединение
curl_close($curl);
}Как посмотреть http-ответ сервера?
Достаточно включить опцию CURLOPT_HEADER. После этого CURL добавляет заголовки в вывод.
// Создаем подключение
if( $curl = curl_init() ){
// Задаем ссылку
curl_setopt($curl,CURLOPT_URL,'http://seoximik.ru');
// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
// Нужно вывести http заголовки в массив
curl_setopt($curl,CURLOPT_HEADER,true);
// Скачиваем
$out = curl_exec($curl);
// Показываем скачанные данные
echo $out;
// Закрываем соединение
curl_close($curl);
}На этом пока все. В дальнейшем возможно приведу и иные удачные примеры.
