Массовая проверка показателя «ИКС» от Яндекс   •   Online-инструменты
271 просм
0 комм
Поделиться:

cURL как альтернатива функции file_get_contents в PHP

Функция file_get_contents в PHP, при следующем ее использовании:

<?php

	$get_page = file_get_contents("https://www.pandoge.com");

	echo $get_page;

?>

поможет вам вернуть информацию об указанном сайте или файле. При парсинге (получении) информации таким способом с других сайтов вы можете не получить желаемый результат ввиду фильтрации сомнительных запросов, ведь через file_get_contents вы не отдаете никаких внятных заголовков к обращаемому сервису.

Чтобы исправить это и получить нужную информацию, и существует cURL. Он умеет и отдавать заголовки (включая агент браузера), и переходить по возможным редиректам.

Чтобы не быть многословным – функция для получения данных выглядит так:

function file_get_contents_alt($url) {
	
	$ch = curl_init();

	curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
	curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);       

	$data = curl_exec($ch);

	curl_close($ch);

	return $data;

}

Ее вы вставляете сразу после <?php в вашем скрипте, а использование следующее:

echo file_get_contents_alt("https://www.pandoge.com");

Получаемые данные можно сразу не выводить, а, например, присвоить к переменной для дальнейшей их обработки.

0
комментариев
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.