From: Steve Holden on
Brandon Conner wrote:
> Hey Pythoners,
>
> its my first post here, yay!
>
> I'm trying to develop a script that will return the results of a POST
> request that should list all images uploaded by a user. However, when i
> run the script, i get returned the HTML of the page with the search
> form. I am wondering what am i doing incorrectly? Is it something I'm
> doing or is the imagebin server rejecting my request?
>
> here's the code:
>
> import urllib
> import urllib2
> url = 'http://imagebin.org/index.php?page=search'
> values = {'search_for' : 'blah', 'field' : 'Nickname'}
> data = urllib.urlencode(values)
> request = urllib2.Request(url, data)
> response = urllib2.urlopen(request)
> page = response.read()
> print page
>
> tks, pythons great
>
You need to tell the browser (in an HTTP header) that what you are
sending is HTML. Try putting

print "Content-Type: text/html\n"

at the start of your script.

regards
Steve

--
Steve Holden +1 571 484 6266 +1 800 494 3119
See PyCon Talks from Atlanta 2010 http://pycon.blip.tv/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/

From: Cameron Simpson on
On 18Mar2010 22:43, Steve Holden <steve(a)holdenweb.com> wrote:
| Brandon Conner wrote:
| > I'm trying to develop a script that will return the results of a POST
| > request that should list all images uploaded by a user. However, when i
| > run the script, i get returned the HTML of the page with the search
| > form. I am wondering what am i doing incorrectly? Is it something I'm
| > doing or is the imagebin server rejecting my request?
| >
| > here's the code:
| >
| > import urllib
| > import urllib2
| > url = 'http://imagebin.org/index.php?page=search'
| > values = {'search_for' : 'blah', 'field' : 'Nickname'}
| > data = urllib.urlencode(values)
| > request = urllib2.Request(url, data)
| > response = urllib2.urlopen(request)
| > page = response.read()
| > print page
| >
| > tks, pythons great
| >
| You need to tell the browser (in an HTTP header) that what you are
| sending is HTML. Try putting
|
| print "Content-Type: text/html\n"
|
| at the start of your script.

I think it may need to be "application/x-www-form-urlencoded", not
text/html. But otherwise, yes, missing Content-Type.

And the request method needs to be POST; I expect the code above will be
using GET unless told not to.

Cheers,
--
Cameron Simpson <cs(a)zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/

There's no trick to being a humorist when you have the whole government
working for you. - Will Rogers