noelob a écrit :
Hi All,
During performance testing of my web application, I occasionally get a
BadStatusLine exception from httplib. Reading
http://docs.python.org/lib/module-httplib.html#l2h-4021 tells me that
it's "Raised if a server responds with a HTTP status code that we
don't understand." Is there a way to find what the actual status code
returned was? I.e. the value that caused the exception to be thrown?
Under what circumstances is a BadStatusLine normally thrown? (e.g.
data corruption?)
httplib is a pure-python module, so nothing prevents you from reading
the source code to get more accurate informations. It appears that this
exception is raised when:
- the status line is empty
- the 'strict' flag is on and the status line didn't start with 'HTTP/'
- the 'status' part of the status line is not convertible to an int
- the status code ('status' part of the status line, converted to an
int) is lower than 100 or higher than 999
NB: I may have missed something...
In all cases, the offending status line is accessible as either .line
and .args attribute of the exception.
I'm quite new to python, but not to programming. Apologies if this is
a silly question ;)
Well... Not a silly question IMHO, but surely one you could have solved
by yourself. It only requires two commands on an average posix system:
- cd /your/python/install/lib/
- grep -A5 -B5 BadStatusLine httplib.py
HTH