[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка возвращения результата curl'ом
zetrixx
Здравствуйте!
Я уже не знаю что делать, перепробовал кучу примеров, методом тыка изменял все что можно, пытаясь найти причину - все безуспешно. Надеюсь тут мне помогут =)

Имеется код:
    $ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://site1.ru");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);


При выполнении кода нечего не происходит, как будто курл не куда и не отправлялся.
При обращении же к http://site2.ru - все прекрасно работает и результат получаю.

Пример кода взят с какого-то мануала.

Имеется 7 сайтов, с 4-х результат возвращается с 3-х нет, не могу понять в чем проблема. Помогите ! Пожалуйста ! =)

P.S. после каждой строчки в коде вписывал print_r($ch); - выводит везде Resource id #4
Игорь_Vasinsky
эммитируй USER_AGENT

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
zetrixx
А от чего потребность в имитация User Agent'a зависит ? Если проверка на сайте - то таковой нету (сайт - это пару самописных скриптов).

Пробовал только что этот код, на денвере работает, на сайте - нет:
function test($url='', $post='', $referer='', $proxy='') {
$cl = curl_init();
curl_setopt($cl, CURLOPT_URL, $url);
curl_setopt($cl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
curl_setopt($cl, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($cl, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
if(!empty($post)) {curl_setopt($cl, CURLOPT_POST, 1); curl_setopt($cl, CURLOPT_POSTFIELDS, $post);}else{curl_setopt($cl, CURLOPT_POST, 0);}
if(!empty($referer)){curl_setopt($cl, CURLOPT_REFERER, $referer);}else{curl_setopt($cl,CURLOPT_REFERER, 1);}
if(!empty($proxy)) {curl_setopt($cl, CURLOPT_PROXY, $proxy);}
$ex=curl_exec($cl);
curl_close($cl);
return $ex;
}


echo test('http://test1.ru/ren.php', 'test=test');


ren.php:
$test = $_POST['test'];

if(isset($test)){
echo 'test - ok!';
}


Пробовал так же не указывать пост запрос :
echo test('http://test1.ru/ren.php');

На денвере - возвращает index.php, на сайте не работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.