note 31770 added to function.fsockopen

From: Date: Sat, 03 May 2003 00:14:00 +0000
Subject: note 31770 added to function.fsockopen
Groups: php.notes 
Request: Send a blank email to php-notes+get-47408@lists.php.net to get a copy of this message
Here's a snippet that will open a socket connection, send a request and receive the response, even if it's in "chunked" coding: if (!($request=fsockopen('whatever.com',80,$errno,$errstr))) exit($errstr)); else { socket_set_timeout($request,10); fwrite($request,"GET /index.html HTTP/1.1\r\n\r\n"); do $header.=fread($request,1); while (!preg_match('/\r\n\r\n$/',$header)); if (preg_match('/(?i)transfer\-coding:\s+chunked\r\n/',$header)) do { unset($byte); unset($chunk_size); do $byte=fread($request,1); while (preg_match('/[^a-zA-Z0-9]/',$byte)); if (!($chunk_size=fread($request,4))) break; $chunk_size=hexdec($byte.$chunk_size); $response.=fread($request,$chunk_size); } while ($chunk_size); else { $status=socket_get_status($request); $response=fread($request,$status['unread_bytes']); } fclose($request); } exit($response); -- http://www.php.net/manual/en/function.fsockopen.php http://master.php.net/manage/user-notes.php?action=edit+31770 http://master.php.net/manage/user-notes.php?action=delete+31770 http://master.php.net/manage/user-notes.php?action=reject+31770

« previous php.notes (#47408) next »