Ladislav> If I use example from Python doc like this Ladislav> #################### Ladislav> import httplib, urllib Ladislav> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) Ladislav> h = httplib.HTTP("www.musi-cal.com:80") Ladislav> h.putrequest("POST", "/cgi-bin/script.cgi") ... Ladislav> ################ Ladislav> it works well but only if the script is like Ladislav> http://www.musi-cal.com/cgi-bin/script.cgi Ladislav> but if the script is like Ladislav> http://www.musi-cal.com/cgi-bin/script.cgi?name=Paul Ladislav> (note a part after ? ) it means that PUTREQUEST should be Ladislav> h.putrequest("POST", "/cgi-bin/script.cgi?name=Paul")
Ladislav> but httplib ignores everything after '?' and sends only Ladislav> /cgi-bin/script.cgi Ladislav> again You can change things a couple ways: * If you want to use the POST method, you must always send the parameters using a call to the send() method of the HTTP object. In this case, you had params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) ... h.send(params) If you want the parameter to be "name" with a value of "Paul", change the call that sets params to params = urllib.urlencode({'name': 'Paul'}) * Use the GET method instead of the POST method: h = httplib.HTTP("www.musi-cal.com:80") h.putrequest("GET", "/cgi-bin/script.cgi?name=Paul") h.putheader('Accept', 'text/plain') h.putheader('Host', 'www.musi-cal.com') h.endheaders() reply, msg, hdrs = h.getreply() In any case, make sure when you test your code you are communicating with a web server that you know and that actually has the URL you are interested in. As the webmaster of www.musi-cal.com I can tell you with a fair degree of certainty there is no CGI script here named "script.cgi". -- Skip Montanaro ([EMAIL PROTECTED] - http://www.mojam.com/) _______________________________________________ ActivePython mailing list [EMAIL PROTECTED] http://listserv.ActiveState.com/mailman/listinfo/activepython