【发布时间】:2011-04-30 03:28:10
【问题描述】:
我有一个小问题,是关于我在编写我的第一个 Python Web 应用程序时遇到的问题。
我的网站上有一个表单,它的动作是一个 python 文件。表单在发布请求中发布 2 个输入框的值,我的 pythonfile 将捕获这些并用它们做一些事情。在测试我的程序时,我希望能够在 ssh 中的命令行上发布这些参数,例如:
python twitter.py -user1="bob" -user2="labla"
但是我似乎无法让它工作并且在谷歌上找不到任何东西。
现在我的 python 文件看起来像这样:
#!/usr/bin/python
import cgi
import cgitb; cgitb.enable()
import nltk
form = cgi.FieldStorage()
reshtml = """Content-Type: text/html\n"""
print reshtml
user1 = form['user1'].value
user2 = form['user2'].value
print user1 + " , " + user2
那么如何在 ssh 中使用 python 的命令行“伪造”表单 POST 请求?
【问题讨论】:
-
试试cURL
-
好的,当我这样做时,我得到一个 500 错误: curl -F "user1=bob" "user2=labla" mydomain.com/twitter2.py,知道有什么问题吗?
-
请参阅:curl.haxx.se/docs/manpage.html 了解更多信息。我对它没有太多经验,现在系统上也没有它可供我使用,所以只能提供建议。我什至不能 100% 确定你可以让它以这种方式工作,但我曾经使用 PHP cURL 实现来进行这种测试,所以期待它可以完成。抱歉,我帮不上忙。
-
您的意思是在命令行上运行您的脚本并传递这些参数吗?或者实际上是从命令行发布数据(就好像它来自浏览器中的表单一样)?
-
如果像其他 cmets 建议的那样,您确实想发布到服务器,请尝试 'curl -v -d "user1=bob" -d "user2=labla" '。如果您收到 500 个错误,您需要查看您的服务器端代码是否正在打印任何内容。
标签: python ssh command-line-arguments