欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python web.py服務(wù)器與客戶端的實(shí)現(xiàn)示例

 更新時(shí)間:2025年10月28日 11:47:09   作者:Coding的葉子  
本文介紹了使用Python的web.py庫(kù)搭建一個(gè)簡(jiǎn)單的Web服務(wù)器,并演示了自定義端口、URL映射以及POST和GET請(qǐng)求的處理,具有一定的參考價(jià)值,感興趣的可以了解一下

web.py是python中一個(gè)相對(duì)容易上手的web服務(wù)器搭建工具。

1 安裝方式

web.py可以直接通過(guò)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è)面與響應(yīng)類

url頁(yè)面是指網(wǎng)頁(yè)訪問地址,響應(yīng)類是指定頁(yè)面做出的響應(yīng)。如上所示,url頁(yè)面用一個(gè)小括號(hào)元組形式來(lái)定義。'/server', 'server' 表示url地址為127.0.0.1:port/server或者localhost:port/server頁(yè)面對(duì)應(yīng)函數(shù)處理類為class server。'/.*', 'notfound'表示除了server頁(yè)面之外,且在指定端口port下的地址時(shí)均由class notfound類來(lái)表示??梢园凑丈鲜龇椒?,定義多個(gè)頁(yè)面。

在響應(yīng)函數(shù)類處理消息過(guò)程中,POST與GET處理方法基本一致。

urls = (
        '/server' , 'server', 
        '/.*', 'notfound'     #localhost:port/其他任意界面,訪問notfound類
        )

2.3 自定義端口

web.py默認(rèn)端口為8080端口,但是有時(shí)候8080已經(jīng)被占用了,所以需要自定義端口。

自定義端口的方式可以用兩種方式來(lái)實(shí)現(xiàn),第一種是在命令行運(yù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': '測(cè)試', '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 測(cè)試結(jié)果

4.1 客戶端測(cè)試

python客戶端運(yùn)行結(jié)果如下:

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

 

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

到此這篇關(guān)于python web.py服務(wù)器與客戶端的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)python web.py服務(wù)器與客戶端內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python探索之ModelForm代碼詳解

    Python探索之ModelForm代碼詳解

    這篇文章主要介紹了Python探索之ModelForm代碼詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Python定時(shí)器實(shí)例代碼

    Python定時(shí)器實(shí)例代碼

    這篇文章主要介紹了Python定時(shí)器實(shí)例代碼,向大家分享了兩部分代碼示例,一個(gè)是通過(guò)線程實(shí)現(xiàn)定時(shí)器timer,另一個(gè)是Python實(shí)現(xiàn)的精度可調(diào)的定時(shí)器實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Pygame改編飛機(jī)大戰(zhàn)制作兔子接月餅游戲

    Pygame改編飛機(jī)大戰(zhàn)制作兔子接月餅游戲

    一年中秋又快到了,今年加入了Python的學(xué)習(xí)行列,得益于Python的開發(fā)效率和易讀性,網(wǎng)上寫文章的次數(shù)多了起來(lái),既然是中秋節(jié)那肯定要搞個(gè)應(yīng)景的游戲才行
    2022-09-09
  • 使用python提取PowerPoint幻燈片中表格并保存到文本及Excel文件

    使用python提取PowerPoint幻燈片中表格并保存到文本及Excel文件

    owerPoint作為廣泛使用的演示工具,常被用于展示各類數(shù)據(jù)報(bào)告和分析結(jié)果,其中,表格以其直觀性和結(jié)構(gòu)性成為闡述數(shù)據(jù)關(guān)系的不二之選,本文將介紹如何使用Python來(lái)提取PowerPoint幻燈片中的表格,并將表格數(shù)據(jù)寫入文本文件以及Excel文件,需要的朋友可以參考下
    2024-06-06
  • 在PyCharm中打包Python項(xiàng)目并將其運(yùn)行到服務(wù)器上的方法(推薦)

    在PyCharm中打包Python項(xiàng)目并將其運(yùn)行到服務(wù)器上的方法(推薦)

    在PyCharm中打包Python項(xiàng)目并運(yùn)行到服務(wù)器上,主要步驟包括:創(chuàng)建并設(shè)置項(xiàng)目、編寫項(xiàng)目代碼、打包項(xiàng)目、配置服務(wù)器環(huán)境、上傳可執(zhí)行文件到服務(wù)器以及運(yùn)行項(xiàng)目,通過(guò)這些步驟,可以將Python項(xiàng)目打包并部署到服務(wù)器上
    2024-11-11
  • python計(jì)算寄送包裹重量的實(shí)現(xiàn)過(guò)程

    python計(jì)算寄送包裹重量的實(shí)現(xiàn)過(guò)程

    要實(shí)現(xiàn)這樣一個(gè)需求寄送包裹小于5kg,每公斤0.5元,大于等于5kg,超出5公斤部分,按照每公斤0.8元計(jì)算,輸入重量,輸出應(yīng)付金額,下面小編給大家分享實(shí)現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • python使用pil進(jìn)行圖像處理(等比例壓縮、裁剪)實(shí)例代碼

    python使用pil進(jìn)行圖像處理(等比例壓縮、裁剪)實(shí)例代碼

    這篇文章主要介紹了python使用pil進(jìn)行圖像處理(等比例壓縮、裁剪)實(shí)例代碼,首先介紹了pil的相關(guān)內(nèi)容,然后分享了實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • pandas中merge()函數(shù)的用法解讀

    pandas中merge()函數(shù)的用法解讀

    這篇文章主要介紹了pandas中merge()函數(shù)的用法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 如何使用python進(jìn)行pdf文件分割

    如何使用python進(jìn)行pdf文件分割

    這篇文章主要介紹了如何使用python進(jìn)行pdf文件分割,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python如何把不同類型數(shù)據(jù)的json序列化

    Python如何把不同類型數(shù)據(jù)的json序列化

    這篇文章主要介紹了Python如何把不同類型數(shù)據(jù)的json序列化,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04

最新評(píng)論