Edit report at https://bugs.php.net/bug.php?id=47759&edit=1

 ID:                 47759
 Comment by:         alpegalpeg at gmail dot com
 Reported by:        marques at displague dot com
 Summary:            file_get_contents does not decode chunk encoded data
 Status:             Bogus
 Type:               Bug
 Package:            HTTP related
 PHP Version:        5.2.9
 Block user comment: N
 Private report:     N

 New Comment:

There is a PECL module and also pure php workaround:
http://www.php.net/manual/en/function.http-chunked-decode.php#89786


Previous Comments:
------------------------------------------------------------------------
[2009-03-25 12:18:35] marques at displague dot com

Chunk encoding is a requirement of HTTP/1.1 clients.  If file_get_contents is 
going to claim to be able to fetch http streams, then it needs to come forward 
about its limitation of HTTP/1.0 on it's manual page. This can only be inferred 
by reading the HTTP wrapper manual.  In this way I have reported a 
documentation bug.

Moreover, the HTTP wrapper should be made to be HTTP/1.1 capable.  Although, in 
this century, lack of HTTP/1.1 support in an HTTP client is fairly crippling, 
this bug can be considered a feature request.

Feel free to change the summary to more appropriately reflect one of these two 
bugs.  The end result however is the same, file_get_contents does not decode 
chunk encoded data.

http://php.net/file_get_contents
http://us3.php.net/manual/en/wrappers.http.php

------------------------------------------------------------------------
[2009-03-24 23:50:25] il...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

.

------------------------------------------------------------------------
[2009-03-24 13:39:48] marques at displague dot com

Description:
------------
file_get_contents() does not decode HTTP content sent with "Transfer-Encoding: 
chunked".  This is probably also true for fopen() and other HTTP stream 
handlers in PHP.

RFC2616 section 3.6.1:
   All HTTP/1.1 applications MUST be able to receive and decode the
   "chunked" transfer-coding, and MUST ignore chunk-extension extensions
   they do not understand.



Reproduce code:
---------------
echo file_get_contents('somechunkedurl.html');

Expected result:
----------------
This is the data in the first chunk and this is the second one


Actual result:
--------------
23
This is the data in the first chunk

1A
and this is the second one

0



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



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=47759&edit=1

Reply via email to