来源:蜘蛛抓取(WebSpider)
时间:2015-07-20 04:11
标签:
cgi脚本问题
如何创建和使用Python CGI脚本_百度知道
如何创建和使用Python CGI脚本
提问者采纳
当网页上的&get".py" target="_blank">http。当&当":#;www/input&var/p>:/&&br&This page was generated by a Python CGIOptions +ExecCGIAddHandler cgi- "!/www/>.html开始.0。用户输入的数据在包含form[",如下面的Apache指令指定一样;html& &myscript-2;b>: text/www/.FieldStorage()print&Last Name。这个例子的要点就是你可以很容易地读取并显示用户在web表单上输入的数据;];&&html/请求;firstName&www/。你可以在你的脚本中通过下面的语句导入该脚本;h1>.py&>:#;cgi-bin/+ form[&www/cgi-bin/.py&/>,当前登陆用户的列表;var/print":# chmod o+x myscript-1.html显示在web浏览器中的图片如下所示(注意.value +&h2&html>.0。这可能包括日志文件的内容;是必需的;print&lastName&>.html开始;Submit&cgi-bin/: text/.py创建一个CGI脚本在创建一个Python CGI脚本之前,form[&html>,但是安装版本可能会有所不同);print".py这将会调用web服务器中下面所示脚本;html//h2&/Test Page 2&"。这个模块可以处理用户通过web输入表单输入的数据;];html&name=&br>。可以通过下面的命令增加执行权限。其余的语句用来输出HTML格式的其余网页内容;bin/:Python cgi模块在方案2中是必需的;<:读取并显示用户输入的数据;www/p&lastName&现在尝试请求URL;form>,/myscript-1。通过设置方法参数为&www/b&&print&method=&]; &/cgi-bin/:&<。使用下面的指令;Content-Type.py的内容如下;position&var/,因为web服务器需要知道接受自CGI脚本的输出格式;br&Test Page 1<.6编写的;+ form[&下面访问URL;&www/html/:/var/www//。web输入表单被封装在一个表单对象中;&以上指令表明CGI脚本保存在web服务器的/];".0.value +":使用Python脚本创建一个网页对于这个方案;&myscript-2;pythonimport cgiform =var/b>在这个教程里,我们假设Apache web服务器已经安装好;Directory&html&myscript-1:import cgi你也必须修改Python CGI脚本的执行权限;inputtype=&p&First N&cgi-bin/。&print&/Directory".pyPython CGI例子涉及到Python CGI脚本的两个方案将会在下面讲述;&/:&html&h2&&var/.value +&html/&html/].b>!/html/",并将结果显示在网页上对于这个方案;html&br&html&var/bin/:ServerName127;form>.value,并且在网页上显示结果注意,或者今天的日期;www/&Content-T&&CGI Script Output<: text/:/h1&/:&print&inputtype=",并已运行;&Pvar/.6;打印语句是必需的;firstName&当&&Content-Tbr&第一行声明表示这是使用 /&>:usr/。除了以字符串的方式处理数据;&/按钮被点击;&/,那么你将需要导入Python cgi模块;cgi-bin目录;page2;inputtype=&name=&print&action=&来指定一个&print&myscript-1;/://localhost/page1;]。本篇教程使用的脚本是使用Python版本2;>。那些中括号中的名称和/html&html目录下,因为这涉及到用户从web表单输入数据。一旦开始输出:&html&submit&inputtype=&print&position&按钮点击,并通过DocumentRoot指令指定(指定网页文件所在目录),下面的网页将被返回:使用Python脚本创建一个网页读取并显示用户输入的数据;&cgi-bin目录下有执行权限;usr/inputtype=&Submit".15;+ form[".html在浏览器中的显示情况如下;cgi-bin/.html文本输入域中定义的名称参数一致;lastName&pythonprint&print&/,&/usr/text&www/按钮点击;<.1。我们必须还要明确CGI脚本在//cgi-bin/method=&cgi-bin": &myscript-2;myscript-1;var/&Last Name,import cgi语句用来确保能够处理用户通过web输入表单输入的数据。例子2;www/的将会搜索这个目录下的CGI脚本;cgi-bin//The user entered data are。/: &html&/value=&python命令运行的Python脚本.value的语句中可以得到:80Listen80下面举例中的HTML文件存放在web服务器上的/<.py的内容如下;cgi-bin/。$ python -V$ python --version如果你的Python CGI脚本要用来处理用户输入的数据(从一个web输入表单);Submit&<。在你处理时拥有所有python库的可能性是无穷无尽的;get&var/bin/html&var/page1,以防止web服务器不能调用。你可以通过下面任意一命令(-V和--version参数将显示所安装Python的版本号)检查Python的版本,我们将通过创建一个含有三个输入域和一个提交按钮的网页/。/www/var/,/"://localhost/page1;b&print&/Submit".html这将返回web服务器中下面文件的内容;cgi-bin/<: <,用于CentOS发行版6;<,和 form[&正如前面提到;www/text"。例子1 ;GET":DocumentRoot".py脚本将被调用(通过action参数指定);/get".FieldStorage对象;提交&":ScriptAlias/&First Nh1>,三个输入域已经被填写好了):<a href="var/page2;":这个例子的要点是你可以决定哪些信息可以被CGI脚本返回://localhost/cgi-bin/myscript-1.2;按钮被点击;firstName".1);var/,我们将通过创建包含一个单一提交按钮的网页/.0.py脚本将被执行(通过action参数指定);print&&submit&//position&name=&var/,我们必须指定CGI脚本在web服务器上的位置,你也可以用Python将用户输入的数据转化为可用于数值计算的数字;www/print",请求URL里包含/Submit",这是为了让web服务器知道接受自CGI脚本的输出类型;var/print".html为了启用CGI脚本;<.&action=".py&&page2;Content-TPosition,服务器将会返回指定的网页;<,还要指定CGI脚本的文件扩展名;b>:/,下面的网页将返回;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的核心模式
–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 .