cURL non si aggiorna al reload nel browser
Salve a tutti,
sto utilizzando cUrl per creare una API.
Nella richiesta cUrl ho specificato:
- 'Cache-Control: no-cache'
- curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
- ho provato anche a variare la richiesta di volta in volta con $url .= '?time=' . time();
Se faccio il reload dal browser della pagina di richiesta questa non si aggiorna finchè non passano alcuni minuti. Non serve a nulla se cambio il contenuto dei file sul server o se svuoto la cache del browser. Se invece uso il browser del mio cellulare android il reload funziona perfettamente mostrandomi i risultati aggiornati.
Qualche idea per far funzionare il refresh su Chrome o Firefox da PC?
Qui sotto il codice:
Codice PHP:
$url = 'http://www.lucedigitale.com/perfect-manager/web-services/api-1-0/api-manager.php';
$url .= '?time=' . time(); $ch = curl_init( $url );
# Setup request to send json via POST, do not change the object name, leave '0'.
$payload = json_encode( array( '0'=> $data ) );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
$headers = array('Cache-Control: no-cache', 'Content-Type: application/json');
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
# avoid caching: force to use a new connection instead of a cached one.
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
# Return response instead of printing.
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
# Send request.
$result = curl_exec($ch);
curl_close($ch);
echo "<pre>$result</pre>";