Message28474
Logged In: YES
user_id=14422
I'm seeing this with Python 2.3.5 and 2.4.3 hitting a PHP
app and getting a large error page. It looks as though the
server is incorrectly chunking the response: lwp-request at
least gives a better error message than httplib.py:
$ GET "http://..."
500 EOF when chunk header expected
I'm unclear on precisely what the server is doing wrong.
The response looks like this:
HTTP/1.1 200 OK
Date: Mon, 24 Jul 2006 19:18:47 GMT
Server: Apache/2.0.54 (Fedora)
X-Powered-By: PHP/4.3.11
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
2169\r\n
\r\n
[...first 0x2169 bytes of response...]\r\n
20b2\r\n
[...next 0x20b2 bytes...]
[...repeat many times...]
20b2\r\n
[...the last 0x20b2 bytes...]
\r\n
The blank line at eof appears to be confusing httplib.py: it
bombs because
int('', 16)
raises ValueError.
Observation #1: if this is indeed a protocol error (ie. the
server is in the wrong), httplib.py should turn the
ValueError into an HTTPException. Perhaps it should define
a new exception class for low-level protocol errors (bad
chunking). Maybe it should reuse IncompleteRead.
Observation #2: gee, my web browser doesn't barf on this
response, so why should httplib.py? If there is an error
here, it's at EOF, so it's not that big a deal. |
|
Date |
User |
Action |
Args |
2007-08-23 14:39:58 | admin | link | issue1486335 messages |
2007-08-23 14:39:58 | admin | create | |
|