Добрый день Тостер!
Я уже всю голову себе сломал, честно. С проблемами доступа к сайтам через PHP уже случалось сталкиваться, но всегда это решалось, а на этот раз никак. Засим обращаюсь к вам за помощью.
Вот этот адрес совершенно спокойно отрывается в браузере, отдавая RSS:
zakupki.gov.ru/epz/order/quicksearch/rss?searchStr...
Но ни через file_get_contents(), ни через cURL, с самыми разными комбинациями настроек, я его получить не могу.
Пример file_get_contents:
$context = stream_context_create(array(
'http' => array(
'method' => 'GET',
'protocol_version' => '1.1',
'header' => array(
'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0',
)
)
));
$r = file_get_contents($url, false, $context);
debug($r);
debug($http_response_header);
Отдает bool false и ошибку "500 Internal Server Error".
Пример параметров cURL (по разному пробовал):
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, 'http://zakupki.gov.ru/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0');
curl_setopt($ch, CURLOPT_URL, $o['url']);
Этот думает около полминуты и вообще выдает страницу, на которой написано "Ошибка установки соединения с базой данных".
Я в смятении. Загрузить этот RSS очень нужно. Надеюсь на вашу помощь.