国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python的CGIHTTPServer交互實現(xiàn)詳解

2020-02-22 23:11:09
字體:
供稿:網(wǎng)友

介紹

對于服務(wù)器后端開發(fā)者而言,有時候需要把自己的一些服務(wù)直接暴露給PM或者其他RD使用,這個時候需要搭建一套web服務(wù)可以和前端用戶做簡單交互,按照最常規(guī)的做法,一般是用Apache或者Nginx作為webserver后端使用cgi或者fcgi程序或者腳本進行處理,當(dāng)然這種做法安全且正規(guī)。

但是我個人更喜歡一個更簡單的做法:就是利用python自帶的CGIHTTPServer作為服務(wù)器,然后通過一個簡單的html頁面進行交互,通過post請求直接調(diào)用總控腳本,與用戶進行交互。

使用方法和示例

啟動服務(wù)

Python的CGIHTTPServer一般是與python一起安裝的,使用如下命令既可以啟動,為了便于組織目錄,建議先建立一個目錄,比如web,然后再運行下面的命令。

nohup python -m CGIHTTPServer 8088 &

上面的命令使CGIHTTPServer在非中斷后臺運行,運行l(wèi)og可以通過當(dāng)前目錄下的nohup.out查看。

編寫交互頁面

在啟動server的當(dāng)前目錄下,建立一個index.html文件,編寫內(nèi)容如下。

<!DOCTYPE html><html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=gbk">  <title> Python-CGIHTTPServer使用示例 </title>  <meta name="author" content="Haiyu">  <center><h1> Python-CGIHTTPServer使用示例 </h1></center> </head> <hr style="height:5px;border:none;border-top:5px ridge green;" /> <body>  <br/>  <center><h2>計算圓的周長</h2></center>  <center>  <p>請輸入圓的半徑長度.</p>  <br/>  <form action="cgi-bin/c_length.sh" method="post" enctype="text/plain" target="_blank">   radius:<input type="text" id="radius" name="radius" value=""/>   <input type="submit" id="c_length" name="c_length" value="計算周長">  </form>  </center>  <br/>  <br/>  <br/> </body> <hr style="height:5px;border:none;border-top:5px ridge green;" /> <br/> <br/></html>

這個界面的功能非常簡單,使用一個form表單接收用戶的提交的半徑參數(shù),然后計算完周長之后進行返回,使用post請求。

CGI腳本

這個才是我們后端開發(fā)同學(xué)最關(guān)心的內(nèi)容,這個腳本就是用來完成主要的邏輯操作進行返回,因為我們后端同學(xué)關(guān)注更多的不是交互界面的華麗而是邏輯處理的正確性和嚴(yán)謹(jǐn)性,根據(jù)我的經(jīng)驗,后端不管多么復(fù)雜的處理流程,最終都可以用一個腳本包起來,根據(jù)輸入得到輸出,這里面的輸入就是我們用戶提交的參數(shù),輸出就是我們經(jīng)過層層處理之后需要返回的內(nèi)容。
這個腳本建議放在server運行目錄下新建立的cgi-bin目錄中。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 恩施市| 柞水县| 临猗县| 大石桥市| 眉山市| 建昌县| 庆元县| 永登县| 嘉峪关市| 睢宁县| 常州市| 阿克陶县| 保定市| 镇原县| 电白县| 太和县| 故城县| 葵青区| 泸水县| 大余县| 墨江| 鹰潭市| 玛纳斯县| 邹平县| 平遥县| 九江市| 蓝山县| 深圳市| 德庆县| 滨州市| 建湖县| 双鸭山市| 天水市| 玛曲县| 明光市| 象州县| 加查县| 治多县| 加查县| 鄂州市| 英山县|