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
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to