如何创建和使用Pythonhttpd cgi 脚本脚本

如何创建和使用Python CGI脚本_百度知道
如何创建和使用Python CGI脚本
提问者采纳
当网页上的&get&quot.py" target="_blank">http。当&当&quot:#;www/input&var/p&gt:/&&br&This page was generated by a Python CGIOptions +ExecCGIAddHandler cgi- &quot!/www/&gt.html开始.0。用户输入的数据在包含form[&quot,如下面的Apache指令指定一样;html& &myscript-2;b&gt: text/www&#47.FieldStorage()print&Last Name。这个例子的要点就是你可以很容易地读取并显示用户在web表单上输入的数据;];&&html/请求;firstName&www&#47。你可以在你的脚本中通过下面的语句导入该脚本;h1&gt.py&&gt:#;cgi-bin/+ form[&www/cgi-bin&#47.py&/&gt,当前登陆用户的列表;var/print&quot:# chmod o+x myscript-1.html显示在web浏览器中的图片如下所示(注意.value +&h2&html&gt.0。这可能包括日志文件的内容;是必需的;print&lastName&&gt.html开始;Submit&cgi-bin&#47: text&#47.py创建一个CGI脚本在创建一个Python CGI脚本之前,form[&html&gt,但是安装版本可能会有所不同);print&quot.py这将会调用web服务器中下面所示脚本;html//h2&/Test Page 2&&quot。这个模块可以处理用户通过web输入表单输入的数据;];html&name=&br&gt。可以通过下面的命令增加执行权限。其余的语句用来输出HTML格式的其余网页内容;bin&#47:Python cgi模块在方案2中是必需的;&lt:读取并显示用户输入的数据;www/p&lastName&现在尝试请求URL;form&gt,/myscript-1。通过设置方法参数为&www/b&&print&method=&]; &/cgi-bin&#47:&&lt。使用下面的指令;Content-Type.py的内容如下;position&var&#47,因为web服务器需要知道接受自CGI脚本的输出格式;br&Test Page 1&lt.6编写的;+ form[&下面访问URL;&www/html&#47:/var/www/&#47。web输入表单被封装在一个表单对象中;&以上指令表明CGI脚本保存在web服务器的/];&quot.0.value +&quot:使用Python脚本创建一个网页对于这个方案;&myscript-2;pythonimport cgiform =var/b&gt在这个教程里,我们假设Apache web服务器已经安装好;Directory&html&myscript-1:import cgi你也必须修改Python CGI脚本的执行权限;inputtype=&p&First N&cgi-bin&#47。&print&/Directory&quot.pyPython CGI例子涉及到Python CGI脚本的两个方案将会在下面讲述;&&#47:&html&h2&&var&#47.value +&html/&html/].b&gt!/html/&quot,并将结果显示在网页上对于这个方案;html&br&html&var/bin&#47:ServerName127;form&gt.value,并且在网页上显示结果注意,或者今天的日期;www/&Content-T&&CGI Script Output&lt: text&#47:/h1&&#47:&print&inputtype=&quot,并已运行;&Pvar&#47.6;打印语句是必需的;firstName&当&&Content-Tbr&第一行声明表示这是使用 /&&gt:usr&#47。除了以字符串的方式处理数据;&/按钮被点击;&&#47,那么你将需要导入Python cgi模块;cgi-bin目录;page2;inputtype=&name=&print&action=&来指定一个&print&myscript-1;&#47://localhost/page1;]。本篇教程使用的脚本是使用Python版本2;&gt。那些中括号中的名称和/html&html目录下,因为这涉及到用户从web表单输入数据。一旦开始输出:&html&submit&inputtype=&print&position&按钮点击,并通过DocumentRoot指令指定(指定网页文件所在目录),下面的网页将被返回:使用Python脚本创建一个网页读取并显示用户输入的数据;&cgi-bin目录下有执行权限;usr/inputtype=&Submit&quot.15;+ form[&quot.html在浏览器中的显示情况如下;cgi-bin&#47.html文本输入域中定义的名称参数一致;lastName&pythonprint&print&&#47,&/usr/text&www/按钮点击;&lt.1。我们必须还要明确CGI脚本在//cgi-bin/method=&cgi-bin&quot: &myscript-2;myscript-1;var/&Last Name,import cgi语句用来确保能够处理用户通过web输入表单输入的数据。例子2;www/的将会搜索这个目录下的CGI脚本;cgi-bin//The user entered data are。&#47: &html&/value=&python命令运行的Python脚本.value的语句中可以得到:80Listen80下面举例中的HTML文件存放在web服务器上的/&lt.py的内容如下;cgi-bin&#47。$ python -V$ python --version如果你的Python CGI脚本要用来处理用户输入的数据(从一个web输入表单);Submit&&lt。在你处理时拥有所有python库的可能性是无穷无尽的;get&var/bin/html&var/page1,以防止web服务器不能调用。你可以通过下面任意一命令(-V和--version参数将显示所安装Python的版本号)检查Python的版本,我们将通过创建一个含有三个输入域和一个提交按钮的网页&#47。/www/var&#47,/&quot://localhost/page1;b&print&/Submit&quot.html这将返回web服务器中下面文件的内容;cgi-bin/&lt: &lt,用于CentOS发行版6;&lt,和 form[&正如前面提到;www/text&quot。例子1 ;GET&quot:DocumentRoot&quot.py脚本将被调用(通过action参数指定);/get&quot.FieldStorage对象;提交&&quot:ScriptAlias/&First Nh1&gt,三个输入域已经被填写好了):<a href="var/page2;&quot:这个例子的要点是你可以决定哪些信息可以被CGI脚本返回://localhost/cgi-bin/myscript-1.2;按钮被点击;firstName&quot.1);var&#47,我们将通过创建包含一个单一提交按钮的网页&#47.0.py脚本将被执行(通过action参数指定);print&&submit&//position&name=&var&#47,我们必须指定CGI脚本在web服务器上的位置,你也可以用Python将用户输入的数据转化为可用于数值计算的数字;www/print&quot,请求URL里包含/Submit&quot,这是为了让web服务器知道接受自CGI脚本的输出类型;var/print&quot.html为了启用CGI脚本;&lt.&action=&quot.py&&page2;Content-TPosition,服务器将会返回指定的网页;&lt,还要指定CGI脚本的文件扩展名;b&gt:&#47,下面的网页将返回;p&/input&www/print&page1.5)运行在本地主机(127
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何创建和使用Python CGI脚本_百度知道
如何创建和使用Python CGI脚本
提问者采纳
用于CentOS发行版6.2.15.0.1).5)运行在本地主机(127在这个教程里,并且监听80端口,并已运行,我们假设Apache web服务器已经安装好.0。这篇教程使用的Apache web服务器(版本2
其他类似问题
为您推荐:
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁软件定义网络 Hub
当前位置:
三个有用的Mininet配置实例
Mininet是一个有用的网络仿真/模拟平台,对于进行SDN测试和应用开发非常有帮助。使用Mininet可以创建不同类型的网络拓扑结构。本文介绍三种用于SDN测试时比较流行的拓扑配置。
1.单交换机(Single switch)
下面的命令创建具有1个交换机,交换机上连接3台主机的网络拓扑结构。每个主机被分配静态IP地址和MAC地址。
$ sudo mn --arp --topo single,3 --mac --switch ovsk --controller remote
上面的命令中有几个重要的参数需要注意:
-mac:自动设置MAC地址,MAC地址与IP地址的最后一个字节相同
-arp:为每个主机设置静态ARP表,例如:主机1中有主机2和主机3的IP地址和MAC地址ARP表项,主机2和主机3依次类推。
-switch:使用OVS的核心模式
&#8211;controller:使用远程控制器,可以指定远程控制器的IP地址和端口号,如果不指定则默认为127.0.0.1和6633
创建完拓扑后即可使用ping命令进行测试:h1 ping h2
(注意:如果没有指定控制器的话,是ping不通的)
单个交换机网络拓扑
2.两个线性连接的交换机(Two linear swtiches)
下面的命令创建具有2个交换机,两个交换机下面个连一个主机,交换机之间再互连起来。
$ sudo mn --topo linear --switch ovsk --controller remote
两个交换机线性拓扑
3.负载均衡器器(Load-balancer)
下面的命令创建的拓扑结构:1个交换机,交换机上连接3个服务器(server)和1个客户端(client)。控制器充当负载均衡器,控制客户端先服务器请求时,由控制器控制客户端真正访问的哪一个服务器。但是,有一些额外的步骤需要注意。
$ sudo mn --arp --topo single,4 --mac --switch ovsk --controller remote
虚拟IP/MAC(Virtual IP/MAC): 为负载均衡器选择一个virtual IP (VIP) 和 MAC 地址。这个VIP是客户端需要发起HTTP请求的目的IP地址。控制向交换机下发规则,去重写客户端的目的IP(即VIP),以指定具体访问哪一个网络服务器。为了达到这个目的,需要在客户端主机上为VIP设置一条ARP表项。如果‘h1′ 充当客户端,10.0.0.5是VIP,下面的命令用于在h1上添加静态ARP表项:
mininet& h1 arp -s 10.0.0.5 00:00:00:00:00:05
服务器的配置: -arp参数非常重要,用于为每个主机设置静态ARP表项。除此之外,还需要在mininet中运行下面的命令(启动HTTPServer):
mininet& h2 python -m CGIHTTPServer &
mininet& h3 python -m CGIHTTPServer &
mininet& h4 python -m CGIHTTPServer &
Warm-up controller learning: After the hosts are up, it is important to make the controller learn the location of each host. You can do this through a pingall command in mininet:
mininet& pingall
客户端发起HTTP请求: In our custom VM, we have CGI script configured to report back which server is handling a particular client request. Thus, when a client performs the following command, you will receive the IP address of the handling server.
mininet& h1 curl http://10.0.0.5:8000/cgi-bin/serverip.cgi
负载均衡器网络拓扑
本文固定链接:
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!
近期评论文章归档
2016年二月
2016年一月
2015年十一月
2015年七月
2015年五月
2015年四月
2015年三月
2014年十二月
2014年八月
2014年七月
2014年六月
2014年五月
最新日志热评日志随机日志
日志总数:109 篇
评论总数:23 篇
标签数量:41 个
链接总数:0 个
建站日期:
运行天数:3239 天
最后更新:
Theme by .

我要回帖

更多关于 cgi脚本问题 的文章

 

随机推荐