Salve,
stò creando una funzione per fare delle richieste ad un sito web e ricevere il responso.
Codice PHP:
<?php
function richiesta($host, $porta = 80, $pagina = 'index', $dati) {
global $fp;
$dati = 'dati=' . $dati;
$headers .= "POST http://{$host}:{$porta}/{$pagina}.php HTTP/1.0\r\n";
$headers .= "Host: {$host}\r\n";
$headers .= "Connection: Keep-Alive\r\n";
$headers .= "User-Agent: PHP\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: " . strlen($dati) . "\r\n\r\n";
$headers .= $dati;
fputs($fp, $headers);
output = '';
while (!feof($fp)) {
$output .= fgets($fp, 1024);
}
return $output;
}
?>
Fin qui tutto ok. Dopo che però, sempre nello stesso script voglio rieffettuare la richiesta, e come se il sito web ha chiuso la connessione, perchè non ricevo più nulla, nemmeno gli headers. Preannuncio che la connessione fsockopen() (dichiarata esternamnte dalla variabile $fp) non la chiudo.
La cosa mi pare strana, poichè ho impostato la connessione Keep-Alive, quindi non si dovrebbe chiudere.
Spero sappiate aiutarmi.
Grazie in anticipo.
Carlo