По какой-то причине я не могу получить содержимое этой конкретной веб-страницы через cURL. Мне удалось использовать cURL, чтобы нормально добраться до содержимого «страницы верхнего уровня», но та же самая встроенная функция быстрого cURL, похоже, не работает для одной из связанных суб-веб-страниц.
Страница верхнего уровня: http://www.deindeal.ch/
Подстраница: http://www.deindeal.ch/deals/hotel-cristal-in-nuernberg-30/
Моя функция cURL (в functions.php)
function curl_get($url) {
$ch = curl_init();
$header = array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Accept-Language: en-us;q=0.8,en;q=0.6'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13',
CURLOPT_HTTPHEADER => $header
);
curl_setopt_array($ch, $options);
$return = curl_exec($ch);
curl_close($ch);
return $return;
}
PHP-файл для получения содержимого (используется echo для тестирования)
require "functions.php";
require "phpQuery.php";
echo curl_get('http://www.deindeal.ch/deals/hotel-walliserhof-zermatt-2-naechte-30/');
До сих пор я пытался сделать следующее, чтобы это заработало
- Запуск файла как локально (XAMPP), так и удаленно (LAMP).
- Добавлено в заголовки user-agent и HTTP, как рекомендовано здесь file_get_contents и CURL не может открыть конкретный веб-сайт - до того, как функция
curl_get()
содержала все параметры в качестве текущих, за исключением CURLOPT_USERAGENT and
CURLOPT_HTTPHEADERS`.
Возможно ли, чтобы веб-сайт полностью блокировал запросы с помощью cURL или других механизмов удаленного открытия файлов, независимо от того, сколько данных предоставлено, чтобы попытаться выполнить настоящий запрос браузера?
Кроме того, возможно ли диагностировать, почему мои запросы ничего не показывают?
Любая помощь в ответе на два вышеупомянутых вопроса или редактирование / внесение предложений для получения содержимого файла, даже если с помощью метода, отличного от cURL, будет принята с благодарностью;).