Как загрузить страницу с помощью php? Один из вариантов через curl.
У меня был напряг с сертификатами которые нужно было отключить. Вместо страницы выдавалась пара кракозябл или непонятных символов. После отключения сертификатов, страница нормально загрузилась. Правда это не всегда подойдет.
Кстати данный пример дает возможность С сайта https:// требуется скачать страницы в файл для последующей обработки.
$ch = curl_init(); // инициализация CURL
// Ввод пароля и идентификация
curl_setopt($ch, CURLOPT_URL, "https://www.xxxx.ru/login.htms"); //адрес страницы лога
curl_setopt($ch, CURLOPT_PROXY, "prox:port"); // через прокси
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // отключение сертификата
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // отключение сертификата
// отправка логина и пароля
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "LOGIN=ПОЛЬЗОВАТЕЛЬ&PASSWD=ПАРОЛЬ&submit=Login");
//----------------------------------------------
//сохранение кукизов
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_HEADER, TRUE);
if($ref!='') curl_setopt($ch, CURLOPT_REFERER, $ref);
if($cookie!='') curl_setopt($ch, CURLOPT_COOKIE, $cookie);
// прописывание броузера
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)');
//--------------------------------------------------------------
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
//----------------------------------------------------------------
// сдесь сохранение страницы которая загрузилась бы с URL
$fp = fopen("proba.htm", "w"); // имя сохраняемого файла
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
// закрытие файла
fclose($fp);
// выполнение запроса библиотеки CURL
$content = curl_exec($ch);
//-------------------------------------------------------
// print_r(curl_getinfo($ch)); // вывод структуры запроса
// вывод ошибок при выполнении запроса
if(curl_error($ch))
{
echo "\n\ncURL error:" . curl_error($ch);
echo "\n\ncURL error:" . curl_errno($ch);
//$flagerrcurl = true;
}
//----------------------------------------------------------------
// закрытие сессии запроса
curl_close($ch);
//----------------------------------------------------------------
?>
0 коммент.:
Отправить комментарий
Все сообщения проверяются! Спамеры идите в лоток блинами торговать! Адекватные люди приветствуются.