Python之构建一个简单的web.py框架的服务器

本文介绍两种使用Python快速搭建Web服务器的方法。一是通过内置模块SimpleHTTPServer创建简单服务器,适用于文件共享;二是利用web.py库建立更灵活的服务器,支持GET和POST请求处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一: python   -m   SimpleHTTPServer
上面指令就在本机开启了一个服务器,监听所有ip,监听本机8000端口,然后在本地浏览器访问 http://localhost:8000 或者在同个网段上的电脑打开浏览器访问 http://yourip:8000,就可以访问本地的文件了。这个指令可以用来在电脑之间互传文件。

方法二:

最后代码:

import web
urls = (
    '/', 'hello'
)
app = web.application(urls, globals())
class hello:        
    def GET(self):
        print web.input()
        return "GET hello world"
    def POST(self,name):
        print web.input()
        return "POST hello world"
if __name__ == '__main__':
    app.run()


import     web

#在每个web.py 应用,必须先import web 模块

urls = (
    '/', 'hello'
)

##

要告诉web.py URL 如何组织。

第一部分(‘/’)是一个匹配URL 的正则表达式,像/,/help/faq,/item/(\d+),等等;第二部分(‘index’)是一个类名,匹配的请求将会被发送过去。

我们需要编写hello类。当大部人浏览网页的时候,他们都没有注意到,浏览器是通过HTTP 跟World Wide Web 通信的。通信的细节不太重要,但要明白一点,用户是通过URLs(例如 / 或者 /foo?f=1)来请求web 服务器完成一定请求的(例如 GET 或者POST)。

##


app  =  web.application(urls, globals())
class hello:        
    def GET(self):
        print web.input()
        return "GET hello world"
    def POST(self):
        print web.input()
        return "POST hello world"

##

GET 是最普遍的方法,用来请求一个页面。当我们在浏览器里输入“harvard.edu” 的时候,实际上它是向Web 服务器请求GET ”/“。另一个常见的方法是POST,常用于提交特定类型的表单,例如利用信用卡付费和处理一个订单。注意,GET URLs 能够被搜索引擎索引得到(想像一下Google 尝试购买你网站上的所用物品)。

##


if __name__ == '__main__':
    app.run()

##

让web.py 启动网页应用:上面告诉web.py 如何配置URLs,以及找寻的类在文件中的全局命名空间。

##


小技巧:

         在启动服务器的时候,你可以在python server.py 后面添加IP 地址/端口 来控制web.py 启动的服务器。例如:python hello.py 8888

          当前的3.x版本已经不能使用 web.run(urls, globals()) 了哈~现在要

           if __name__ == "__main__":
                   app = web.application(urls, globals())
                   app.run()
           而且现版 print 的内容只能在终端输出,不会被发送到响应流。要输出响应只能 return


参考教程:

http://www.cnblogs.com/xiaowuyi/archive/2012/11/15/2771099.html                    进阶版

http://www.myexception.cn/perl-python/900014.html                                            对于web服务器参数的说明

http://www.oschina.net/question/5189_4306                                                         说的比较详细的教程,包含了调试和模板


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值