python 怎么搭建简单的web服务器?

python 怎么搭建简单的web服务器?,第1张

利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:\x0d\x0apython -m Web服务器模块 [端口号,默认8000]\x0d\x0a例如:\x0d\x0apython -m SimpleHTTPServer 8080\x0d\x0a然后就可以在浏览器中输入\x0d\x0ah ttp://loca lhost:端口号/路径\x0d\x0a来访问服务器资源。 \x0d\x0a例如:\x0d\x0ah ttp://local host:808 0/index.h tm(当然index.htm文件得自己创建)\x0d\x0a其他机器也可以通过服务器的IP地址来访问。\x0d\x0a\x0d\x0a这里的“Web服务器模块”有如下三种:\x0d\x0a\x0d\x0aBaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。\x0d\x0aSimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。\x0d\x0aCGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。

你可以使用 pythoncom 库,它包含ActivePython 或者可以安装pywin32 (Python for Windows extensions).

下面是一个简单操作服务的例子:

import pythoncom

import win32serviceutil

import win32service

import win32event

import servicemanager

import socket

class AppServerSvc (win32serviceutil.ServiceFramework):

    _svc_name_ = "TestService"

    _svc_display_name_ = "Test Service"

    def __init__(self,args):

        win32serviceutil.ServiceFramework.__init__(self,args)

        self.hWaitStop = win32event.CreateEvent(None,0,0,None)

        socket.setdefaulttimeout(60)

    def SvcStop(self):

        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)

        win32event.SetEvent(self.hWaitStop)

    def SvcDoRun(self):

        servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,

                              servicemanager.PYS_SERVICE_STARTED,

                              (self._svc_name_,''))

        self.main()

    def main(self):

        pass

if __name__ == '__main__':

    win32serviceutil.HandleCommandLine(AppServerSvc)

你的代码需要放在mian()方法里面,通常会有一些情况通过检查你在 SvcStop 方法中设置的标志,然后中断循环


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/303208.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存