У меня здесь проблема. Когда я загружаю страницу, для отображения полного результата требуется не менее 10 секунд. Когда я использую curl, он отображает только html-содержимое страницы во время выполнения. Я хочу, чтобы завиток подождал не менее 10 секунд, чтобы получить полный результат. Это мой код,
<?php
$cookie = tmpfile();
$userAgent = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31' ;
$ch = curl_init('http://filippo.io/Heartbleed/#www.example.com:433');
$options = array(
CURLOPT_CONNECTTIMEOUT => 20 ,
CURLOPT_USERAGENT => $userAgent,
CURLOPT_AUTOREFERER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_COOKIEFILE => $cookie,
CURLOPT_COOKIEJAR => $cookie ,
CURLOPT_SSL_VERIFYPEER => 0 ,
CURLOPT_SSL_VERIFYHOST => 0
);
curl_setopt_array($ch, $options);
$kl = curl_exec($ch);
curl_close($ch);
echo $kl;
?>
Пожалуйста, скажите мне, где я делаю ошибку, и что я могу удалить или добавить, чтобы заставить скрипт работать. благодаря
Я не уверен, где вы получили 10 секунд. На моем ноутбуке среднего класса Linux для загрузки в Firefox потребовалось около 3 секунд. Однако то, что вы вводите в заблуждение, - это время, которое требуется для загрузки страницы HTML, и времени, которое требуется для загрузки всего дополнительного/динамического содержимого.
Когда вы нажимаете на URL-адрес, вы получаете очень маленькую статическую HTML-страницу вместе с некоторыми javascript, css, изображениями и т.д. Задержка, которую вы видите, - это время, необходимое для выполнения javascript-запросов AJAX, а также для изображений,,
Если вы используете curl
, вы получаете статический HTML-код и ничего больше вместе с ним. Никакая задержка не поможет вам получить полную информацию, если вы не планируете внедрять полный механизм JavaScript и анализатор HTML, а затем загружать все остальные ресурсы, выполняя, при необходимости, код JavaScript.
Я настоятельно рекомендую вам пересмотреть свой подход.
Добавьте это в свой массив $options
: CURLOPT_TIMEOUT => 10
где 10
- это количество секунд, в течение которых вы хотите, чтобы он дождался тайм-аута.
http://altafphp.blogspot.com/2012/12/difference-between-curloptconnecttimeou.html