BadStatusLine:

Bruno Desthuilliers bruno.42.desthuilliers at websiteburo.invalid
Mon Sep 22 06:36:38 EDT 2008


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



More information about the Python-list mailing list