python web.py服務(wù)器與客戶端的實現(xiàn)示例
web.py是python中一個相對容易上手的web服務(wù)器搭建工具。
1 安裝方式
web.py可以直接通過pip install 的方式安裝即可,即:
pip install web.py
2 服務(wù)器
2.1 完整程序
# -*- coding: utf-8 -*-
"""
Created on Mon May 10 20:37:00 2021
@author: Administrator
"""
import web #web.py
urls = (
'/server' , 'server',
'/.*', 'notfound' #localhost:port/其他任意界面,訪問notfound類
)
class MyApplication(web.application):
def run(self, port=8080, *middleware):
func = self.wsgifunc(*middleware)
return web.httpserver.runsimple(func, ('0.0.0.0', port))
class server:
def __init__(self):
self.return_msg = {'errorCode': 0, 'msg': '系統(tǒng)正常!'}
def POST(self): #POST處理方式與GET一致
content = web.input()
print('收到消息:', content.key1, content.key2, content.key3)
return str(self.return_msg).replace('\'', '\"')
class notfound:
def GET(self):
print('--from notfound')
return '404 not found'
def POST(self):
print('--from notfound')
return '404 not found'
if __name__ == "__main__":
app = MyApplication(urls ,globals())
app.run(port=8090)
2.2 url頁面與響應(yīng)類
url頁面是指網(wǎng)頁訪問地址,響應(yīng)類是指定頁面做出的響應(yīng)。如上所示,url頁面用一個小括號元組形式來定義。'/server', 'server' 表示url地址為127.0.0.1:port/server或者localhost:port/server頁面對應(yīng)函數(shù)處理類為class server。'/.*', 'notfound'表示除了server頁面之外,且在指定端口port下的地址時均由class notfound類來表示??梢园凑丈鲜龇椒?,定義多個頁面。
在響應(yīng)函數(shù)類處理消息過程中,POST與GET處理方法基本一致。
urls = (
'/server' , 'server',
'/.*', 'notfound' #localhost:port/其他任意界面,訪問notfound類
)2.3 自定義端口
web.py默認端口為8080端口,但是有時候8080已經(jīng)被占用了,所以需要自定義端口。
自定義端口的方式可以用兩種方式來實現(xiàn),第一種是在命令行運行腳本,采用如下方式:
python main.py 8090
另一種方式是按照上述代碼的方式,重載web.application類。
class MyApplication(web.application):
def run(self, port=8080, *middleware):
func = self.wsgifunc(*middleware)
return web.httpserver.runsimple(func, ('0.0.0.0', port))
if __name__ == "__main__":
app = MyApplication(urls ,globals())
app.run(port=8090)3 客戶端
3.1 完整程序
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 18 22:35:53 2022
@author: Administrator
"""
import requests
def client_post(url, data):
rep = requests.post(url, data=data)
return rep.text
if __name__ == '__main__':
url1 = 'http://127.0.0.1:8090/server'
url2 = 'http://127.0.0.1:8090/'
data = {'key1': '測試', 'key2': 'test', 'key3': 1}
res1 = client_post(url1, data)
res2 = client_post(url2, data)
print('127.0.0.1:8090/server(返回結(jié)果):', res1)
print('127.0.0.1:8090/xxx(返回結(jié)果):', res2)4 測試結(jié)果
4.1 客戶端測試
python客戶端運行結(jié)果如下:

也可以在瀏覽器中輸入網(wǎng)址:

4.2 服務(wù)器端測試結(jié)果

到此這篇關(guān)于python web.py服務(wù)器與客戶端的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)python web.py服務(wù)器與客戶端內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python?web.py啟動https端口的方式
- python3.x中安裝web.py步驟方法
- python web.py開發(fā)httpserver解決跨域問題實例解析
- 淺析Python的web.py框架中url的設(shè)定方法
- Linux系統(tǒng)上Nginx+Python的web.py與Django框架環(huán)境
- 詳細解讀Python的web.py框架下的application.py模塊
- 使用Python的web.py框架實現(xiàn)類似Django的ORM查詢的教程
- 安裝Python的web.py框架并從hello world開始編程
- Python開發(fā)WebService系列教程之REST,web.py,eurasia,Django
相關(guān)文章
使用python提取PowerPoint幻燈片中表格并保存到文本及Excel文件
owerPoint作為廣泛使用的演示工具,常被用于展示各類數(shù)據(jù)報告和分析結(jié)果,其中,表格以其直觀性和結(jié)構(gòu)性成為闡述數(shù)據(jù)關(guān)系的不二之選,本文將介紹如何使用Python來提取PowerPoint幻燈片中的表格,并將表格數(shù)據(jù)寫入文本文件以及Excel文件,需要的朋友可以參考下2024-06-06
在PyCharm中打包Python項目并將其運行到服務(wù)器上的方法(推薦)
在PyCharm中打包Python項目并運行到服務(wù)器上,主要步驟包括:創(chuàng)建并設(shè)置項目、編寫項目代碼、打包項目、配置服務(wù)器環(huán)境、上傳可執(zhí)行文件到服務(wù)器以及運行項目,通過這些步驟,可以將Python項目打包并部署到服務(wù)器上2024-11-11
python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼
這篇文章主要介紹了python使用pil進行圖像處理(等比例壓縮、裁剪)實例代碼,首先介紹了pil的相關(guān)內(nèi)容,然后分享了實例代碼,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
Python如何把不同類型數(shù)據(jù)的json序列化
這篇文章主要介紹了Python如何把不同類型數(shù)據(jù)的json序列化,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04

