ID: 1432
Updated by: andy
Reported By: [EMAIL PROTECTED]
Status: Open
Old Bug Type: Feature/Change Request
Bug Type: Sockets related
Operating System: Win32
PHP Version: 4.0
New Comment:
reclassified
Previous Comments:
------------------------------------------------------------------------
[2001-02-10 13:17:18] [EMAIL PROTECTED]
refiling as a bug against 4.0.
------------------------------------------------------------------------
[1999-05-28 07:52:28] [EMAIL PROTECTED]
fgets recognizes a carriage return (CR, '\n', 0xod) as a end-of-line only. The site
in question uses line feeds (LF, �\r�, 0x0a) as line delimiters.
Moving the report over to feature requests.
------------------------------------------------------------------------
[1999-05-21 04:28:24] [EMAIL PROTECTED]
I use PHP/3.06 win32 for writing a web crawler which
indexes URL's.
The indexer has no problems, except on ONE url that I
know of so far which seems to be, as far as I
can ascertain related to the fgets()
function failing to work.
fgets() will not read data from any socket connected
via fsockopen to www.hutman.com port 80. I know this might
seem very strange, but fgets() never seems to be able to determine EOF and hence sits
there forever doing nothing.
I have used a raw telnet session to try and debug this and cannot find why PHP would
do this -- it works fine on every
other URL in the database.
Here is some code that may help:
$sock = fsockopen("www.hutman.com",80);
if ($sock)
{
fputs($sock,"HEAD /dreg/facade/songs/aftk.mp3 HTTP/1.1\n");
fputs($sock,"Host: www.hutman.com\n");
fputs($sock,"User-Agent: HTTP-crawler/1.0\n");
fputs($sock,"Connection: close\n\n");
/* at this point the server responds .. and it indeed does in a telnet session, but
PHP simply wont read the data returned AT ALL. */
while ($buf = fgets($sock,128))
{
$response = $response . $buf;
echo $buf;
}
No variations of this will work.. the fgets() function will timeout after a while.
i have tried while (!feof($sock)) as well, which exhibits similar behaviour, but seems
to NEVER return from the fgets() call .. never times out.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=1432&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]