我用Python运行一个本地CGIHttpServer,并使用这个Python程序在该服务器上运行一些东西:
''' submit data to form using robots '''
import urllib
import pprint
# hacking gullible app
url = "http://localhost:8000/cgi-bin/w5/captcha.example/vote_app/gullible_app.py"
def vote(lecturer):
params = urllib.urlencode({'lecturer': lecturer,'submit':'submit'})
f = urllib.urlopen(url, params)
pprint.pprint(f.fp.readlines())
vote("Ivo")
这告诉我它只能发布到CGI脚本中,我觉得这很奇怪,因为python脚本在我的web浏览器中打开的位置很好。所以。。。它在我的浏览器中运行得很好,但当python程序试图发布到该URL时,它就不能运行了。这是怎么回事?(互联网上很少有关于这个问题的报道-我试着自己研究这个问题来解决它,但是只有3-4个人提到这个问题)
编辑:对不起伙计们!我不明白发和发。我应该在问题中包含这一点——这是python程序“易受骗”_应用程序副本". 如您所见,表单执行“POST”操作
^{pr2}$
服务器端程序(您还没有给出,所以我们不能确定)只接受GET请求,而不向显示的url发送请求。在
urllib使urlopen以您的方式作为POST。有关如何发出GET请求的示例,请参阅文档http://docs.python.org/2/library/urllib.html#examples
答案似乎在文档中。在
您的错误消息:^{}
大提示:^{}
需要修改的内容:^{}
因此,要么将您的(Python)CGI脚本放在一个默认子目录中,要么修改
cgi_directories
使其正确地“猜测”URL应该是一个CGI脚本。在相关问题 更多 >
编程相关推荐