[PHP] Problème socket_read()

Azertuiops -  
thosting Messages postés 244 Statut Membre -
Bonjour,
Une page doit utiliser les requêtes http.
Pour me faire la main, j'ai codé ceci :
<?php
header('Content-Type: text/plain');
$host = 'www.google.fr';
$header = 'GET / HTTP/1.1\r\n';
$header .= 'Host: '.$host.'\r\n';
$header .= 'Connection: Close\r\n\r\n';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket < 0){
        die('FATAL ERROR: socket_create() : " '.socket_strerror($socket).' "');
} 
if (socket_connect($socket,gethostbyname($host),80) < 0){
        die('FATAL ERROR: socket_connect()');
}
if(($int = socket_write($socket, $header, strlen($header))) === false){
        die('FATAL ERROR: socket_write() failed, '.$int.' characters written');
}
while($buff = socket_read($socket, 2000)){
   $content.=$buff;
}
socket_close($socket);
echo $content
?>


Mais socket_read() pose problème. En effet, ma page tourne dans le vide depuis 30min.

Par contre, avec ceci :
<?php
header('Content-Type: text/plain');
$host = 'www.google.fr';
$header = 'GET / HTTP/1.1\r\n';
$header .= 'Host: '.$host.'\r\n';
$header .= 'Connection: Close\r\n\r\n';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket < 0){
        die('FATAL ERROR: socket_create() : " '.socket_strerror($socket).' "');
} 
if (socket_connect($socket,gethostbyname($host),80) < 0){
        die('FATAL ERROR: socket_connect()');
}
if(($int = socket_write($socket, $header, strlen($header))) === false){
        die('FATAL ERROR: socket_write() failed, '.$int.' characters written');
}
socket_close($socket);
echo 'Ok'
?>

Aucun problème.



Que faire ? Merci d'avance. :)
A voir également:

1 réponse

thosting Messages postés 244 Statut Membre 27
 
while($buff = socket_read($socket, 1)){
$content.=$buff;
echo $buff;
}

Test avec ca !

Signature non conforme - Publicité supprimée Modération CCM.
0