Я использовал cUrl для снижения цен на некоторые продукты. Все работало хорошо, несколько месяцев, до сих пор.PHP cUrl, возвращающий пустую строку без var_dump
Теперь после cURL, я получаю пустой результат ... видимо ... потому что, если я делаю var_dump на возвращаемой переменной, он работает ... и я не понимаю, как var может быть пустым, пока я не распечатаю Это ?!
Это мои полные Curl функции:
function linkcurl($targetURL){
$linkcurl = curl_init();
curl_setopt($linkcurl, CURLOPT_COOKIEJAR, dirname(__FILE__) . "/cookie.tmpz");
curl_setopt($linkcurl, CURLOPT_COOKIEFILE, dirname(__FILE__) . "/cookie.tmpz");
curl_setopt($linkcurl, CURLOPT_VERBOSE, true);
//curl_setopt($linkcurl, CURLOPT_USERAGENT, random_user_agent());
curl_setopt($linkcurl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($linkcurl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($linkcurl, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($linkcurl, CURLOPT_HEADER, 0); // debug headers sent - 1
curl_setopt($linkcurl, CURLOPT_URL, $targetURL);
$datax = curl_exec ($linkcurl);
curl_close($linkcurl);
return $datax;
}
$prdhtml = linkcurl($product_page_url); //
Нет, я действительно пытался добавить больше вариантов на мой Curl Butit не меняет вещь:
curl_setopt($linkcurl, CURLOPT_VERBOSE, true);
curl_setopt($linkcurl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($linkcurl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($linkcurl, CURLOPT_AUTOREFERER, TRUE);
Тот же результат, ничего не изменилось.
Я действительно пытался добавить var_dump ob_start к моей завитка функции, как это:
ob_start();
return curl_exec ($ch);
ob_end_clean();
Еще ничего.
Я также попытался захватить локоны выходов за пределы функции, как это:
ob_start();
var_dump($prdhtml);
$prdhtml = ob_get_clean();
Еще .. ничего не изменилось ... Я также пытался varionts с print_r и var_export ... ничего.
Я также сделал попробовать фиксированный агент пользователя для Curl, а также случайных агентов пользователей .. ничего ...
Единственный раз, когда он работает (время от времени, не всегда), если я простой var_dump ($ prdhtml); строки в результате на странице, и я не понимаю, как это отличается от ob_start.
Я не понимаю, в чем проблема и как это исправить ...
EDIT:
образец кода и скрипку: http://codepad.viper-7.com/aePjg7
Буферизация вывода не имеет никакого отношения к ' curl'. Вы, похоже, неправильно используете выходную буферизацию. – Halcyon
Итак, где ваш полный фрагмент кода? какую переменную и где вы пытаетесь использовать? в вашем вопросе я вижу только «var_dump ($ prdhtml);», но перед инициализацией '$ prdhtml' нет. так о чем вы говорите? – Alex
добавлен полный код. –