【问题标题】:Programmatically submitting a form in Python?以编程方式在 Python 中提交表单?
【发布时间】:2010-10-16 12:02:02
【问题描述】:

刚开始使用 Google App Engine 和 Python(作为一个借口;))。 如何正确提交这样的表单

<form action="https://www.moneybookers.com/app/payment.pl" method="post" target="_blank">
<input type="hidden" name="pay_to_email" value="ENTER_YOUR_USER_EMAIL@MERCHANT.COM">
<input type="hidden" name="status_url"
<!-- etc. -->
<input type="submit" value="Pay!">
</form>

不向用户公开数据?

【问题讨论】:

    标签: python google-app-engine forms post


    【解决方案1】:

    听起来您正在寻找urllib

    这是从图书馆的文档发布的示例:

    >>> import urllib
    >>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
    >>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
    >>> print f.read()
    

    【讨论】:

      【解决方案2】:

      隐藏表单的敏感部分并通过 JavaScript 提交。

      确保您有一种引用表单元素的好方法...

      <form ... id="moneybookersForm">...</form>
      

      ...在页面加载时,执行类似

      document.getElementById("moneybookersForm").submit();
      

      至少我不知道其他方式。对于 JavaScript 残障人士,付费!按钮应保持可见。

      【讨论】:

      • 他要求用 Python 解决方案,而不是用 Javascript。
      • 我只是猜测这就是他想要的。据我所知,没有办法在服务器端 Python 中提交表单并仍然让用户代理看到结果页面。
      • 否,但您可以将结果转发给客户端。
      猜你喜欢
      • 2010-11-22
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 2020-10-03
      • 2013-12-06
      相关资源
      最近更新 更多