您的位置:首页 > Web前端 > HTML

Python CGI编程-通过HTML表单使用GET方法发送数据,用Python文件提交服务器脚本不成功解决办法

2018-12-18 13:46 701 查看
版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/weixin_43738701/article/details/85062767

1.windows 10系统,使用Apache服务器,HTML文件hello_get.html的路径是E:\var\www

2.Python版本是3.7.1,Python文件hello_get.py的路径是:E:\var\www\cgi-bin

3.hello_get.html文件如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<form action="cgi-bin/hello_get.py" method="get">
站点名称: <input type="text" name="name">  <br />

站点URL:<input type="text" name="url" />
<input type="submit" value="提交" />
</form>
</body>
</html>

4.hello_get.py文件如下:

#!E:/Python/python.exe
#-*- coding:UTF-8 -*-
#filename:hello_get.py

#CGI处理模块
import cgi,cgitb

#创建 FieldStorage 的实例化
form=cgi.FieldStorage()

#获取数据
site_name=form.getvalue('name')
site_url=form.getvalue('url')

print("Content-type:text/html")
print
print("<html>")
print("<head>")
print("<meta charset=\"utf-8\">")
print("<title>菜鸟教程CGI测试实例</title>")
print("</head>")
print("<body>")
print("<h2>%s官网:%s</h2>" %(site_name,site_url))
print("</body>")
print("</html>)

5.使用浏览器打开hello_get.html文件,输入菜鸟教程和http://www.runoob.com,点击提交,如下图:

6.点击提交后,显示的是hello_get.py文件的文本内容,如下图:

7.点击提交后,正确的显示结果应该是:

8.找了很久不知道问题出在哪里,请各位大神帮帮忙

9.感谢评论区各位大神的帮助,已经解决了上述问题,方法如下:

(1)配置Apache虚拟主机(配置基于端口的虚拟主机,基于域名或是IP配置虚拟主机请另外百度哟)
  进入E:/Apache24/conf/extra文件夹下,打开httpd-vhosts.conf文件,在文件里面添加如下代码:

<VirtualHost _default_:8088>
  DocumentRoot "E:\var\www\cgi-bin"
  <Directory "E:\var\www\cgi-bin">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>
</VirtualHost>

<VirtualHost *:8080>
  DocumentRoot "E:/test"
  <Directory "E:/test">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

   修改完成后,保存该文件。

(2)进入E:/Apache24/conf文件夹下,打开httpd.conf文件,在第61行左右添加Listen 8080

   在httpd.conf文件第180行左右,去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so前面的#注释标识符

   修改完成后,保存httpd.conf文件。

(3)重启Apache服务。

(4)在浏览器输入localhost:8080和localhost:8088能访问对应文件目录,虚拟主机就配置成功了。

(5)把hello_get.html文件放到E:/test文件夹下,在浏览器输入http://localhost:8080/hello_get.html(不能直接用浏览器打开该文    件),在显示的页面上输入站点名称和站点URL后能正确显示如文章第7点所示的内容。

 

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐