Задать вопрос
@BushaevDenis

Как заставить работать curl и simple html dom вместе?

Написал скрипт, который посылает запрос на сайт с заданными куками, возвращая страницу.
$ch = curl_init();
$opt = array(CURLOPT_URL => 'http://someurl.ru/somepath',
                 CURLOPT_COOKIE => 'count=1000',
                 CURLOPT_RETURNTRANSFER => true,
                );
curl_setopt_array($ch, $options);
$out = curl_exec($ch);
echo $out;
curl_close($ch);

Код работает и отдаёт страницу как нужно.
Как только я подключаю библиотеку Simple Html Dom.
<?php
include 'shd.php';
$ch = curl_init();
$opt = array(CURLOPT_URL => 'http://someurl.ru/somepath',
                 CURLOPT_COOKIE => 'count=1000',
                 CURLOPT_RETURNTRANSFER => true,
                );
curl_setopt_array($ch, $opt);
$out = curl_exec($ch);
echo $out;
curl_close($ch);
?>

Код просто возвращает Null.
  • Вопрос задан
  • 606 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
@BushaevDenis Автор вопроса
Когда убрал аргумент в функции curl_close скрипт выдал страницу. Но только 1 раз. Последующие разы он пишет ошибку, что нет аргумента в том же curl_close.
Как это работает, для меня непостежимо.
UPD:
Отредактировал
if (!curl_close) curl_close($ch);
include 'shd.php';
$ch = curl_init();
$opt = array(CURLOPT_URL => 'http://xn--80ablbvkadq0m.xn--p1ai/katalog/mebel-dlya-barov-kafe-restoranov',
                 CURLOPT_COOKIE => 'count=1000',
                 CURLOPT_RETURNTRANSFER => true,
                );
curl_setopt_array($ch, $opt);
$out = curl_exec($ch);
$html = new simple
curl_close($ch);

Начало работать. Если мне кто-нибудь объяснит что я сделал - буду рад, спасибо.
UPD2: Дело было в самом интерпретаторе. Нужно было обновить php.(в моём случае переключить на более новый в openserver)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
glebovgin
@glebovgin
Full Stack Web Developer
Включите в самом начале файла вывод ошибок
error_reporting(E_ALL); 
ini_set("display_errors", 1);

и покажите что же там у вас не так работает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы