python3 cgi傳數據

用cgi向文本或者數據庫寫入數據python

1.開啓cgi服務數據庫

python -m http.server  --cgi port[端口可選默認爲8000]服務器

update.py代碼url

#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 +'%' + '\n')#寫入mem的值
f.write(data2 +'%' + '\n')#寫入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腳本把要傳輸的數據經過固定的格式傳輸到文本文件code

相關文章
相關標籤/搜索