¿Hay alguna forma de decirle a curl que no use el caché?

Estoy tratando de averiguar el tamaño del archivo de una 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; 

La salida es 43331 . Creo que es demasiado bajo porque tengo Google caché. ¿Esto puede ser cierto? También probé google en otro sitio que calcula el tamaño de la url, y era el doble de grande.

Puede usar CURLOPT_FRESH_CONNECT para esto. De curl_setopt

CURLOPT_FRESH_CONNECT TRUE para forzar el uso de una nueva conexión en lugar de una en caché.

 curl_setopt($curl1, CURLOPT_FRESH_CONNECT, TRUE); 

curl_setopt ($ curl1, CURLOPT_FRESH_CONNECT, 1); // no usa una versión en caché de la url

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

ver ejemplo aquí

puedes configurar el encabezado

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

este enlace puede ser útil para usted http://www.php.net/manual/en/function.curl-setopt.php#96903

La mejor manera de evitar el almacenamiento en caché es aplicar el tiempo o cualquier otro elemento aleatorio a la url, como este:
$url .= '?ts=' . time();

por ejemplo, en lugar de tener
http://example.com/content.php
tendrías
http://example.com/content.php?ts=1212434353

Utilice CURLOPT_FRESH_CONNECT – TRUE para forzar el uso de una nueva conexión en lugar de una en caché.

Ejemplo:

  

para más detalles sobre curl check out, http://php.net/manual/en/function.curl-setopt.php

puede esto ayudarte

Puede indicarle a CURL que use datos nuevos configurando CURLOPT_FRESH_CONNECT en TRUE

Puede leer más sobre la función CURL aquí:

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