Есть ли способ сказать завиток, чтобы не использовать кеш

Я пытаюсь выяснить размер файла URL:

$url1 = 'www.google.com'; $curl1 = curl_init(); curl_setopt($curl1, CURLOPT_URL, $url1); curl_setopt($curl1, CURLOPT_RETURNTRANSFER, TRUE); curl_exec($curl1); $file_size = curl_getinfo($curl1, CURLINFO_SIZE_DOWNLOAD ); $file_size_kb = $file_size / 1000; echo $file_size_kb; 

Выходной сигнал составляет 43331 . Я думаю, что он слишком низок, потому что у меня есть кеширование google. Может ли это быть правдой? Также я тестировал Google на другом сайте, который вычисляет размер URL-адреса, и он был вдвое большим.

Solutions Collecting From Web of "Есть ли способ сказать завиток, чтобы не использовать кеш"

Для этого вы можете использовать CURLOPT_FRESH_CONNECT . От curl_setopt

CURLOPT_FRESH_CONNECT TRUE, чтобы принудительно использовать новое соединение вместо кэшированного.

 curl_setopt($curl1, CURLOPT_FRESH_CONNECT, TRUE); 

curl_setopt ($ curl1, CURLOPT_FRESH_CONNECT, 1); // не используйте кешированную версию URL-адреса

 CURLOPT_FRESH_CONNECT TRUE to force use of a new connection instead of a cached one. 

проверьте пример здесь

вы можете установить заголовок

 $headers = array(       "Cache-Control: no-cache",       ); curl_setopt($curl1, CURLOPT_HTTPHEADER, $headers); 

эта ссылка может быть полезна вам http://www.php.net/manual/en/function.curl-setopt.php#96903

Лучший способ избежать кэширования – применить время или любой другой случайный элемент к URL-адресу, например:
$url .= '?ts=' . time();

так, например, вместо того, чтобы
http://example.com/content.php
вам придется
http://example.com/content.php?ts=1212434353

Используйте CURLOPT_FRESH_CONNECT – TRUE, чтобы принудительно использовать новое соединение вместо кэшированного.

Пример:

 <?php function check_url($url) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_HEADER, 1); // get the header curl_setopt($c, CURLOPT_NOBODY, 1); // and *only* get the header curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // get the response as a string from curl_exec(), rather than echoing it curl_setopt($c, CURLOPT_FRESH_CONNECT, 1); // don't use a cached version of the url if (!curl_exec($c)) { return false; } $httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE); return ($httpcode < 400); } ?> 

для получения дополнительной информации о проверке завитка http://php.net/manual/en/function.curl-setopt.php

может это вам помочь.

Вы можете указать CURL использовать свежие данные, установив CURLOPT_FRESH_CONNECT в TRUE

Подробнее о функции CURL вы можете узнать здесь:

http://php.net/manual/en/function.curl-setopt.php