[mod_python] server side parameters

john burke jb at infodentity.com
Tue Jan 5 21:40:39 EST 2010


this should be all you really need. what you do with the data from
request_data is your own business.

from mod_python import apache, util

def login(req):

  request_data = util.FieldStorage(req)

  logreqdata(req, request_data)
  
  qry = "SELECT u.user_id as id, u.user_name as name FROM users u"
  qry += " WHERE u.user_name = '"
  qry += request_data.getfirst("user_name")
  qry += "' AND u.user_pass ='"
  qry += request_data.getfirst("user_pass")
  qry += "'"
  return dorequest(req, qry, "users", "user").toxml("utf-8")

def logreqdata(req, data):

  if (DEBUG > 0):
   
apache.log_error("********************************************************")
    apache.log_error(str(req.parsed_uri))
    apache.log_error(str(data))

in this case you can imagine that the the dorequest method knows how to
query a database (eg. some database is also imported), and that in this
instance it returns xml of the form:

<users>
<user>
<id>1</id>
<name>john smith</name>
</user>
</users>

unless it doesn't find the user, in which case it returns an error. the
logrequestdata function logs the url that was called and the data it was
passed. it might look like this:

[Sun Sep 20 13:25:37 2009] [error]
********************************************************
[Sun Sep 20 13:25:37 2009] [error] (None, None, None, None, None, None,
'/site/python/site.py/login', 'user_name=user&user_pass=pass', None)
[Sun Sep 20 13:25:37 2009] [error] {'user_name': [Field('user_name',
'user')], 'user_pass': [Field('user_pass', 'pass')]}

based on this information you should be able to determine the proper url
to call and process the passed data.

good luck

john


Doug Epling wrote:
> Sorry, but I really need a boost here.  I might be dense, but I can
> not get a 'script.py' file with a greet(req, name) function to accept
> either POST or GET arguments.  I am getting a 403 Forbidden server
> error.  Where might I read about server side parameters?
>
> Thanks.
>
> Graham
> From james at sindacio.us  Fri Nov 13 02:45:00 2009
> From: james at sindacio.us (James Newton)
> Date: Fri Nov 13 02:45:10 2009
> Subject: [mod_python] POST example?
> In-Reply-To:
> <c2f9e3c20911122342g58179609s1bb0046b24ac6240 at mail.gmail.com>
> References: <c2f9e3c20911122342g58179609s1bb0046b24ac6240 at mail.gmail.com>
> Message-ID: <c2f9e3c20911122345i3812ac58qc69974240f980a65 at mail.gmail.com>
>
> Hi,
>
> After looking around I can't seem to find a really straight forward
> example
> of how to POST, all I can seem to figure out is GET. Currently I'm
> trying to
> figure this out so I can post to a page with curl, rather then post via a
> form, after asking around and getting turned away with "don't use
> mod_python" on most occasions, I was hoping someone on this list could
> give
> me an example of how to post/store post data.
>
> Thanks,
> James Newton
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20091113/8048f618/attachment.html
>
> From graham.dumpleton at gmail.com  Fri Nov 13 04:26:17 2009
> From: graham.dumpleton at gmail.com (Graham Dumpleton)
> Date: Fri Nov 13 04:26:26 2009
> Subject: [mod_python] POST example?
> In-Reply-To:
> <c2f9e3c20911122345i3812ac58qc69974240f980a65 at mail.gmail.com>
> References: <c2f9e3c20911122342g58179609s1bb0046b24ac6240 at mail.gmail.com>
> <c2f9e3c20911122345i3812ac58qc69974240f980a65 at mail.gmail.com>
> Message-ID: <88e286470911130126m21222b57v8270616a602069ce at mail.gmail.com>
>
> Read:
>
>   http://webpython.codepoint.net/mod_python_tutorial
>
> First result for Google on 'mod_python tutorial'.
>
> Graham
>
> 2009/11/13 James Newton <james at sindacio.us>:
> > Hi,
> > After looking around I can't seem to find a really straight forward
> example
> > of how to POST, all I can seem to figure out is GET. Currently I'm
> trying to
> > figure this out so I can post to a page with curl, rather then post
> via a
> > form, after asking around and getting turned away with "don't use
> > mod_python" on most occasions, I was hoping someone on this list
> could give
> > me an example of how to post/store post data.
> > Thanks,
> > James Newton
> >
> > _______________________________________________
> > Mod_python mailing list
> > Mod_python at modpython.org
> > http://mailman.modpython.org/mailman/listinfo/mod_python
> >
> >
> From clodoaldo.pinto.neto at gmail.com  Fri Nov 13 05:56:08 2009
> From: clodoaldo.pinto.neto at gmail.com (Clodoaldo Neto)
> Date: Fri Nov 13 05:56:12 2009
> Subject: Fwd: [mod_python] POST example?
> In-Reply-To:
> <a595de7a0911130107y1067a22exd498225e8aa4baf3 at mail.gmail.com>
> References: <c2f9e3c20911122342g58179609s1bb0046b24ac6240 at mail.gmail.com>
> <c2f9e3c20911122345i3812ac58qc69974240f980a65 at mail.gmail.com>
> <a595de7a0911130107y1067a22exd498225e8aa4baf3 at mail.gmail.com>
> Message-ID: <a595de7a0911130256i78bb0c99yce88dcbdca1c959f at mail.gmail.com>
>
> Forgot to post to the list.
>
> Clodoaldo
>
> ---------- Forwarded message ----------
> From: Clodoaldo Neto <clodoaldo.pinto.neto at gmail.com>
> Date: 2009/11/13
> Subject: Re: [mod_python] POST example?
> To: James Newton <james at sindacio.us>
>
>
> 2009/11/13 James Newton <james at sindacio.us>:
> > Hi,
> > After looking around I can't seem to find a really straight forward
> example
> > of how to POST, all I can seem to figure out is GET. Currently I'm
> trying to
> > figure this out so I can post to a page with curl, rather then post
> via a
> > form, after asking around and getting turned away with "don't use
> > mod_python" on most occasions, I was hoping someone on this list
> could give
> > me an example of how to post/store post data.
>
> You mean you can read data posted by an html form and can't do it when
> it is posted by curl? If so show what is your curl code.
>
> If what you are looking for is how to read data posted by any means read:
>
> http://webpython.codepoint.net/mod_python_tutorial
>
> Regards, Clodoaldo
>
> > Thanks,
> > James Newton
> >
> > _______________________________________________
> > Mod_python mailing list
> > Mod_python at modpython.org
> > http://mailman.modpython.org/mailman/listinfo/mod_python
> >
> >
> From clodoaldo.pinto.neto at gmail.com  Fri Nov 13 05:56:23 2009
> From: clodoaldo.pinto.neto at gmail.com (Clodoaldo Neto)
> Date: Fri Nov 13 05:56:25 2009
> Subject: Fwd: [mod_python] POST example?
> In-Reply-To:
> <c2f9e3c20911130153y4f16535bg2759654e7cf92c86 at mail.gmail.com>
> References: <c2f9e3c20911122342g58179609s1bb0046b24ac6240 at mail.gmail.com>
> <c2f9e3c20911122345i3812ac58qc69974240f980a65 at mail.gmail.com>
> <a595de7a0911130107y1067a22exd498225e8aa4baf3 at mail.gmail.com>
> <c2f9e3c20911130153y4f16535bg2759654e7cf92c86 at mail.gmail.com>
> Message-ID: <a595de7a0911130256i6c82a8c4o1dfb199726e12a73 at mail.gmail.com>
>
> ---------- Forwarded message ----------
> From: James Newton <james at sindacio.us>
> Date: 2009/11/13
> Subject: Re: [mod_python] POST example?
> To: clodoaldo.pinto.neto at gmail.com
>
>
> I may be misunderstanding it, I'm assuming POST and GET are handled
> the exact same way? The curl command would be like so: curl -F
> 'postvar=<-' http://url.tld/. I used the example on that website for a
> get var, but using it for post just created another get? I may not
> being reading into this right.
> James
>
> On Fri, Nov 13, 2009 at 3:07 AM, Clodoaldo Neto
> <clodoaldo.pinto.neto at gmail.com> wrote:
> >
> > 2009/11/13 James Newton <james at sindacio.us>:
> > > Hi,
> > > After looking around I can't seem to find a really straight
> forward example
> > > of how to POST, all I can seem to figure out is GET. Currently I'm
> trying to
> > > figure this out so I can post to a page with curl, rather then
> post via a
> > > form, after asking around and getting turned away with "don't use
> > > mod_python" on most occasions, I was hoping someone on this list
> could give
> > > me an example of how to post/store post data.
> >
> > You mean you can read data posted by an html form and can't do it when
> > it is posted by curl? If so show what is your curl code.
> >
> > If what you are looking for is how to read data posted by any means
> read:
> >
> > http://webpython.codepoint.net/mod_python_tutorial
> >
> > Regards, Clodoaldo
> >
> > > Thanks,
> > > James Newton
> > >
> > > _______________________________________________
> > > Mod_python mailing list
> > > Mod_python at modpython.org
> > > http://mailman.modpython.org/mailman/listinfo/mod_python
> > >
> > >
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python
>
>



More information about the Mod_python mailing list