Change in cgi module's handling of POST requests

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Fri Feb 13 05:58:41 EST 2009


En Fri, 13 Feb 2009 02:43:48 -0200, Bob Kline <bkline at rksystems.com>  
escribió:
> Joshua Kugler wrote:
>>> We just upgraded Python to 2.6 on some of our servers and a number of  
>>> our
>>> CGI scripts broke because the cgi module has changed the way it handles
>>> POST requests.  When the 'action' attribute was not present in the  
>>> form element on an HTML page the module behaved as if the value of the
>>> attribute was the URL which brought the user to the page with the form,
>>> but without the query (?x=y...) part.

> [1] I haven't yet finished my attempts to parse the relevant RFCs; I  
> assumed that the original authors and maintainers of this module (which  
> includes the BDFL himself), would have been more adept at that than I  
> am, which is one of the reasons I was hoping to find some discussion in  
> the mailing list archives of the discussion of the proposed change in  
> the module's behavior.

I noticed this change in behaviour too, and indeed, it is due to  
http://bugs.python.org/issue1817
But I could not find any RFC/standard/reccomendation/whatever that clearly  
states *what* should happen with a POST request directed to an URI having  
a query string itself. So I could not say "it's a bug" -- it's just...  
annoying in these cases (although it might be useful in some other cases,  
I think)
A posible workaround is to ensure all forms have an action attribute, and  
that it doesn't contain any query string.

-- 
Gabriel Genellina




More information about the Python-list mailing list