Вот такой простой файл:
<?php
phpinfo(INFO_VARIABLES);
?>
Забираю с локального компа curl'ом через прокси — получаю пустую страницу, только http-заголовок 200.
Вот код, чем забираю:
<?php
$begin = curl_init();
curl_setopt($begin, CURLOPT_URL, "http://omegastroj.ru/phpinfo.php");
curl_setopt($begin, CURLOPT_PROXY, '127.0.0.2:1444');
curl_setopt($begin, CURLOPT_HEADER, 1);
curl_setopt($begin, CURLOPT_USERAGENT, "Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($begin, CURLOPT_REFERER, "http://otvety.google.ru/otvety/");
curl_exec($begin);
curl_close($begin);
?>
При этом если вместо phpinfo(INFO_VARIABLES); написать print_r($_SERVER);, то всё нормально. Если закомментировать строку с CURLOPT_PROXY, то тоже всё нормально.
Что за странная несовместимость?
Примечание:
добавляю строчку: curl_setopt($begin, CURLOPT_TIMEOUT, 300);
То есть, curl не должен закрыться, это пять минут. Прокси тоже соединение не закрывает.
В порядке эксперимента до и после curl_exec ставлю echo "test" — всё выводится.
Примечание:
> nyaka
> print_r($_SERVER);
> phpinfo(INFO_VARIABLES);
да, так тоже исправно приходит $_SERVER, причём как если его перед phpinfo() поставить, так и если после.
Примечание:
> Может он считает себя роботом…
ну это вряд ли.
а не проходит только часть html, причём иногда обрывается на полуслове. Это если phpinfo() без параметров. Если с параметром INFO_VARIABLES, то либо не проходит таблица (при этом </body> закрывается), либо совсем ничего, кроме заголовка http 200.
Примечание:
Powerhead, вывод в переменную происходит если установить CURLOPT_RETURNTRANSFER в единицу, по умолчанию же в stdout. От перенаправления вывода в переменную или в файл картина не меняется нисколько.
Тот же url браузером через прокси открывается отлично.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.