学习使用CGI和HTML
目标和需求:
(1)通过网页查询并设置开发板的网络参数,要求至少可查询IP地址、子网掩码、网关、MAC地址,可设置自动获取IP或固定IP,设置包括查询的内容
(2)使用CGI编程+HTML实现简单数据交互即可,不考虑样式设计
开发环境是Ubuntu14.04
这是实习时在公司做个一个练手的小项目。或许是在学校养成的习惯,发现自己做东西时总是想到一点就做一点,秉承的思想就是一点一点的小功能终究会实现最终的目标。但是发现这样的好处就是分解出来的功能简单,坏处也更明显,由于缺少整体的规划在这个过程中会发现有时候这些小功能的实现方法就有可能会不适用,甚至会增加整体实现的难度。所以一开始学到的就是:动手之前一定要想清楚。
CGI和HTML是以前没有接触过的,但是要感谢网络的大神,CGI和HTML的结合使用要借助于boa服务器(参考网络实现的),一开始想着去实现的是设置功能,于是就用HTML获取到的信息在CGI程序部分试着用命令去执行(在Ubuntu中做的测试)却发现这样是不行的,考虑到CGI程序不能修改本地的网络参数(在做测试的时候发现修改失败)就开个线程把这些设置参数送到本地,在本地的程序中去修改,这样设置部分就得到了解决。
显示部分是在本地用查询命令得到的结果重定向在一个文件中,在CGI程序中访问这个文件,从而得到查询信息。
后来又想到对配置文件进行读写也可以达到这样的目的。在设置时直接把修改信息写到网络参数的配置文件中,查询的时候直接读取配置信息文件。
学习使用CGI和HTML的更多相关文章
- 网关协议学习:CGI、FastCGI、WSGI
网关协议学习:CGI.FastCGI.WSGI https://www.biaodianfu.com/cgi-fastcgi-wsgi.html
- Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)
一.如何用Python开发一个简单的Webservice 利用python的cgi编程,可以传入参数将结果输出. 定义需要编码以及需要引用的模块 #conding=utf-8 #修正中文乱码 impo ...
- 吴裕雄--天生自然 PYTHON3开发学习:CGI编程
<Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny ...
- 编写我的第一个CGI代码——python学习
在编程学习网站学习Python语言,学习到cgi编程章节遇到了一些小问题,课程介绍的为linux环境的Apache配置方法,具体如下: [linux环境配置方法:] 在进行CGI编程前,确保您的Web ...
- 通读Python官方文档之cgi
cgi 通用网关接口 前驱知识 网关协议学习:CGI.FastCGI.WSGI 简单点说: web服务器接受请求,启动CGI:CGI接受请求,处理,返回给服务器:服务器返回给用户 cgi效率不高,每次 ...
- Python构建发布
click python配置apache的web服务器方法(python的CGI配置) python中的编码问题 http://blog.csdn.net/wyb_hardworking/articl ...
- python练习五—简单web应用
配置apache 我以前web开发基本都是基于java平台的,比如tomcat,servlet等等,由tomcat接收http请求,然后交给servlet处理,servlet处理完成以后把返回结果交给 ...
- 用python搭一个超简易的文件服务器
这个文件服务器纯粹是在学习python cgi编程时,顺便玩玩而已,因为搭文件服务器的话完全可以linux,简单方便,这里就是随便玩玩,功能也就是只能下载文件 1.登录页面,做个简单验证 新建一个ht ...
- CGI编程学习----查询2000W开房数据
原文:CGI编程学习----查询2000W开房数据 0x01:什么是CGI编程? CGI:Common Gateway Interface CGI代表Common Gateway Interface( ...
随机推荐
- Codeforces 985 最短水桶分配 沙堆构造 贪心单调对列
A B /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a, ...
- Lock的await/singal 和 Object的wait/notify 的区别(转载)
在使用Lock之前,我们都使用Object 的wait和notify实现同步的.举例来说,一个producer和consumer,consumer发现没有东西了,等待,producer生成东西了,唤醒 ...
- 数据库管理哪家强?Devart VS Navicat 360°全方位对比解析
今天小编向大家推荐的是两个开发环节的主流数据库管理品牌,那么你知道这两款数据库管理软件品牌与数据库引擎配套的管理软件有什么区别吗?小编这就360°全方位为您解答: ★ 品牌介绍 Devart:拥有超过 ...
- 微信小程序评价页面
<!--服务评价--> <view class="service"> <!--评分--> <view class='score'> ...
- 移动端 使用 vConsole调试
前言 用vue 写移动端代码,有个报名页面 就在iOS 9下出现问题,vue的循环渲染都正常,一开始的数据也能取到.证明不是vue的兼容性问题 但是在用户点击按钮发现不能点击进入跳转 工具 推荐使用 ...
- 【GDOI2017模拟12.9】最近公共祖先
题目 分析 首先,将这些节点按dfs序建一棵线段树. 因为按dfs序,所以在同一子树上的节点会放在线段树相邻的位置. 发现,对于一个位置x,它的权值只会对以x为根的子树造成影响. 当修改x时,用w[x ...
- 【leetcode】689. Maximum Sum of 3 Non-Overlapping Subarrays
题目如下: In a given array nums of positive integers, find three non-overlapping subarrays with maximum ...
- 【BZOJ4195】 [Noi2015]程序自动分析
Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xj或x ...
- THU-CCF WC2019两开花记
今年年初,清华大学举办的THUWC2019即将正式开启,我将继续扮演蒟蒻OIER,努力创造一个菜鸡的形象,THU-CCF WC两爆炸,笑掉各位大牙,大家多多关注. Day0 广州好热啊╰(‵□′)╯! ...
- Java数据结构之排序---选择排序
简单选择排序的介绍: 从给定的序列中,按照指定的规则选出某一个元素,再根据规定交换位置后达到有序的目的. 简单选择排序的基本思想: 假定我们的数组为int [] arr = new int[n],第一 ...