[EMAIL PROTECTED] wrote: > I have a simple cgi-script on a server that prints all key-value pairs > from a request. And it really works when i use a browser and type smth > like http://server/cgi-bin/test?name=mike&johny=dummy. But when I use > the following script, nothing is printed (like i type > http://server/cgi-bin/test request in the browser). > > What is wrong about it? It's hard to believe there's a bug nobody's > noticed for such a long time (I've tried Python 2.1.3 and 2.4.1 on > Windows, and 2.2.2 on Linux). > > I've also tried to make a request using urllib (without 2) sending > pairs as data in a POST request - and it also worked. > > Thanks for help! > > elio. > > #!/usr/bin/python > > import urllib2 > > request = urllib2.Request(r"http://server/cgi-bin/test") > request.add_header("product", "SohoCore") > request.add_header("version", "1.1") > request.add_header("build", "1251") > > reply = urllib2.urlopen(request).readlines() > > for i in reply: > print i
The add_header method adds http headers to your http request - it *doesn't* post any data to your CGI. What you need to do is encode a dictionary of your parameters using ``urllib.urlencode`` (*not* urllib2) - then pass it as the second parameter to urllib2.urlopen. HTH Best Regards, Fuzzy http://www.voidspace.org.uk/python -- http://mail.python.org/mailman/listinfo/python-list