пытаюсь в yii2 спарсить сайты партнеров на тему есть ли товар в наличии организовывал таким методом
public function haveParse($goods){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $goods->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(curl_exec($ch) === false)
{
$out= curl_error($ch);
}else{
$out=curl_exec($ch);
}
return $out;
}
приходит следующее boolean true
при этом
`var_dump($goods->url)==string 'http://xn----7sblaeg7cgj4a.com.ua/ve6rhnjaja-odejda/3339-palto-frak.html'`
если вот здесь curl_setopt($ch, CURLOPT_URL, $goods->url); заменить на
curl_setopt($ch, CURLOPT_URL, 'http://xn----7sblaeg7cgj4a.com.ua/ve6rhnjaja-odejda/3339-palto-frak.html');
страница приходит полностью. Не подскажите в чем проблема.
Не может такого быть, что вы описываете. А может только то, что написано в доках:
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Однако, если установлена опция CURLOPT_RETURNTRANSFER, при успешном завершении будет возвращен результат, а при неудаче - FALSE.
Уверен, что вы просто чего-то недоговариваете.
пробовать надо так:
public function haveParse($goods){
//$url = 'https://ru.stackoverflow.com/questions/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $goods->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(($out = curl_exec($ch)) === false)
$out= curl_error($ch);
return $out;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости