目标和需求:

(1)通过网页查询并设置开发板的网络参数,要求至少可查询IP地址、子网掩码、网关、MAC地址,可设置自动获取IP或固定IP,设置包括查询的内容

(2)使用CGI编程+HTML实现简单数据交互即可,不考虑样式设计

开发环境是Ubuntu14.04

这是实习时在公司做个一个练手的小项目。或许是在学校养成的习惯,发现自己做东西时总是想到一点就做一点,秉承的思想就是一点一点的小功能终究会实现最终的目标。但是发现这样的好处就是分解出来的功能简单,坏处也更明显,由于缺少整体的规划在这个过程中会发现有时候这些小功能的实现方法就有可能会不适用,甚至会增加整体实现的难度。所以一开始学到的就是:动手之前一定要想清楚。

CGI和HTML是以前没有接触过的,但是要感谢网络的大神,CGI和HTML的结合使用要借助于boa服务器(参考网络实现的),一开始想着去实现的是设置功能,于是就用HTML获取到的信息在CGI程序部分试着用命令去执行(在Ubuntu中做的测试)却发现这样是不行的,考虑到CGI程序不能修改本地的网络参数(在做测试的时候发现修改失败)就开个线程把这些设置参数送到本地,在本地的程序中去修改,这样设置部分就得到了解决。

显示部分是在本地用查询命令得到的结果重定向在一个文件中,在CGI程序中访问这个文件,从而得到查询信息。

后来又想到对配置文件进行读写也可以达到这样的目的。在设置时直接把修改信息写到网络参数的配置文件中,查询的时候直接读取配置信息文件。

学习使用CGI和HTML的更多相关文章

  1. 网关协议学习:CGI、FastCGI、WSGI

    网关协议学习:CGI.FastCGI.WSGI https://www.biaodianfu.com/cgi-fastcgi-wsgi.html

  2. Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)

    一.如何用Python开发一个简单的Webservice 利用python的cgi编程,可以传入参数将结果输出. 定义需要编码以及需要引用的模块 #conding=utf-8 #修正中文乱码 impo ...

  3. 吴裕雄--天生自然 PYTHON3开发学习:CGI编程

    <Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny ...

  4. 编写我的第一个CGI代码——python学习

    在编程学习网站学习Python语言,学习到cgi编程章节遇到了一些小问题,课程介绍的为linux环境的Apache配置方法,具体如下: [linux环境配置方法:] 在进行CGI编程前,确保您的Web ...

  5. 通读Python官方文档之cgi

    cgi 通用网关接口 前驱知识 网关协议学习:CGI.FastCGI.WSGI 简单点说: web服务器接受请求,启动CGI:CGI接受请求,处理,返回给服务器:服务器返回给用户 cgi效率不高,每次 ...

  6. Python构建发布

    click python配置apache的web服务器方法(python的CGI配置) python中的编码问题 http://blog.csdn.net/wyb_hardworking/articl ...

  7. python练习五—简单web应用

    配置apache 我以前web开发基本都是基于java平台的,比如tomcat,servlet等等,由tomcat接收http请求,然后交给servlet处理,servlet处理完成以后把返回结果交给 ...

  8. 用python搭一个超简易的文件服务器

    这个文件服务器纯粹是在学习python cgi编程时,顺便玩玩而已,因为搭文件服务器的话完全可以linux,简单方便,这里就是随便玩玩,功能也就是只能下载文件 1.登录页面,做个简单验证 新建一个ht ...

  9. CGI编程学习----查询2000W开房数据

    原文:CGI编程学习----查询2000W开房数据 0x01:什么是CGI编程? CGI:Common Gateway Interface CGI代表Common Gateway Interface( ...

随机推荐

  1. SCC统计

    Kosoraju SCC总数及记录SCC所需要的最少边情况 #include<cstdio> ; ; ][N], nxt[][N], v[][N], ed, q[N], t, vis[N] ...

  2. MySQL 数据库的创建、修改、删除、跳转

    一. 创建数据库 []代表可选项. IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作. <数据库名>:创建数据库的名称.MySQL 的数据存储区 ...

  3. Maven灵活构建(转载)

    https://blog.csdn.net/sin90lzc/article/details/7552033

  4. vue打包多页报错webpackJsonp is not defined

    找到build→webpack.prod.conf.js→找到HtmlWebpackPlugin插件,添加如下配置即可 chunks: ['manifest', 'vendor', 'app']

  5. python如何导入自定义文件和模块全部方法

    项目中想使用自定义python文件(本地代码) 有6种方式, 1.这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录 folder------toinvoke. ...

  6. pyqt-swf

    # pyqt5界面打开flash.swf文件 from PyQt5 import QtCore, QtGui, QAxContainer, QtWidgets class Ui_Flash(QAxCo ...

  7. Spring对单例的底层实现,单例注册表

    Spring框架对单例的支持是采用单例注册表的方式进行实现的,源码如下: public abstract class AbstractBeanFactory implements Configurab ...

  8. .NET DotnetSpider--WebDrvierSpider(ajax动态加载的数据获取)

    爬虫获取数据时,可能会遇到AJAX加载的页面,如果无法分析出接口的话,就只能使用秘密武器——WebDriverDownloader.不过最好还是分析出接口为好,WebDriver的性能实在是太低了.现 ...

  9. python导入不同目录下的自定义模块

    一.代码目录结构 自定义的模块在Common包下,Study文件下SelectionSort.py文件导入自定义的模块 二.源码 2.1:SelectionSort.py文件   python导包默认 ...

  10. python2---输出1--100之间的偶数

    #!/usr/bin/env python方法1:num = 1while num <= 100: if num % 2 == 0: print(num) num += 1方法2: #!/usr ...