ID: 1432
Updated by: jimw
Reported By: [EMAIL PROTECTED]
Status: Open
Old-Bug Type: Feature/Change Request
Bug Type: Sockets related
Assigned To: 
Comments:

refiling as a bug against 4.0.

Previous Comments:
---------------------------------------------------------------------------

[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.1n");
      fputs($sock,"Host: www.hutman.comn");
      fputs($sock,"User-Agent: HTTP-crawler/1.0n");
      fputs($sock,"Connection: closenn");

/* 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.



---------------------------------------------------------------------------



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=1432&edit=2


-- 
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]

Reply via email to