zoukankan      html  css  js  c++  java
  • python3 cgi传数据

    用cgi向文本或者数据库写入数据

    1.开启cgi服务

    python -m http.server  --cgi port[端口可选默认为8000]

    update.py代码

    #coding:utf8
    import cgi
    c = cgi.FieldStorage()#获取表单参数
    try:
    data1 = c['mem'].value#获取表单中mem的值
    data2 = c['cpu'].value#获取表单中cpu的值
    except KeyError:#如果没获取到数据,就把数据设置为空
    data1 = ''
    data2 = ''
    if data1 or data2:#判断是否获取到数据
    f = open('cgi-bin/1.txt','w',encoding='utf8')#创建文件
    f.write(data1 +'%' + ' ')#写入mem的值
    f.write(data2 +'%' + ' ')#写入cpu的值
    f.close()#关闭文件
    客户端代码:
    #coding:utf8
    import psutil
    import urllib.parse
    import urllib.request
    test_data = {'mem':psutil.virtual_memory().percent,'cpu':psutil.cpu_percent()}
    test_data_urlencode = urllib.parse.urlencode(test_data).encode('utf8')#把字典转为urlencode格式并解码为字节流
    requrl = "http://127.0.0.1:8000/cgi-bin/updata.py"
    req = urllib.request.Request(url=requrl,data=test_data_urlencode)#url带参数去请求服务器
    res_data = urllib.request.urlopen(req)#提交请求

    客户端调用cgi的update.py脚本把要传输的数据通过固定的格式传输到文本文件

  • 相关阅读:
    qt中使用dll库的方法
    41. wait notify 方法
    40.方式二的练习
    39.线程的实现方式二
    38. 死锁
    37. 解决线程问题方式二(同步函数)
    36. 解决线程问题方式一(同步代码块synchronized)
    35.线程问题
    34. Thread类的常用方法
    33. 自定义线程
  • 原文地址:https://www.cnblogs.com/xianyin/p/6042490.html
Copyright © 2011-2022 走看看