Заметки полного :-)

PHP https / ssl подключение через curl (если не грузит страницу)


Как загрузить страницу с помощью 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 коммент.:

Отправить комментарий

Все сообщения проверяются! Спамеры идите в лоток блинами торговать! Адекватные люди приветствуются.

ADSNS

Архив блога