文档章节

Python下发布web service(三):web.py简介及使用

艾柯
 艾柯
发布于 2014/01/14 10:29
字数 540
阅读 778
收藏 8

web.py简介

    web.py 是一个轻量级Python web框架,它简单而且功能大。web.py是一个开源项目。该框架由美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发。web.py目前已被很多家大型网站所使用。web.py简单易学。

    官方主页中提供了详细的教程等各种资料。

服务部署

    首先,我们需要导入web.py模板。安装过程不详细介绍,参见官方文档。

import web

   url声明, 此处是定义希望捕获到的访问链接的格式,以及相应的处理。以下定义表示捕获任何访问服务端http://ip:port/xxx的链接,并将传入的参数交给serviceClass类处理。

urls=(
'/(.*)','serviceClass'
)

   服务内容在serviceClass类中定义,一共有两种类型服务,Get和Post。Get服务可以被搜索引擎搜到,一般用来从服务器中获取服务信息。若有重要参数需要传输到服务端时,则采用Post类型。

class serviceClass():


    def GET(self,name):
    #获取输入参数,url中“?”后为输入参数
        name=web.input().name
        if not name:
            print "Hello ,"+name
        else:
        print "Hello world!"

    启动服务,服务端口默认为8080

app=web.application(urls,globals())
app.run()

服务调用

    直接在浏览器打开地址:http://localhost:8080/sayHello?name=Amy

    或者 使用python的httplib模块发送http请求,代码如下:

import httplib
conn=httplib.HTTPConnection("localhost", 8080)
conn.request("GET", "/sayHello?name=Lily")
r=conn.getresponse()
print r.status, r.read()

   服务端和客户端运行结果分别如下:

#服务端
Lily
127.0.0.1:5154 - - [14/Jan/2014 10:25:37] "HTTP/1.1 GET /sayHello" - 200 OK

#客户端
200 Hello,Lily!


© 著作权归作者所有

共有 人打赏支持
艾柯
粉丝 16
博文 19
码字总数 7417
作品 0
成都
私信 提问
Web.py 初探:安装与HelloWorld

1、web.py简介 web.py是一个基于Python,简单而又强大的开源Web框架。 由于自己总是对轻量级的东西比较偏爱。因此选择了web.py来学习Web开发。目前关于web.py的相关资料比较少(甚至连Wikip...

鉴客
2011/09/19
7.3K
1
Go 和 Python Web 服务器性能对比

我通常使用 Python 来构建 Web 应用。一年前,在兴趣的驱使下,我开始学习 Go。 在此期间,我重写了一些原本由 C 开发的 CGI 应用,包括运行于 chroot 环境下的同 thttpd 服务器一起的应用。...

renwofei423
2011/04/27
10.7K
9
简单而直接的Python web 框架:web.py

web.py 是一个Python 的web 框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。 先让大家感受一下web.py 的简单而强大: 看看,上面就是一个基于web.py 的完整的...

小编辑
2010/03/21
62.1K
8
基于Linux环境的Web.py框架介绍

前言 客户端和Web服务器的交互过程可以概括为:Web服务器接收客户端的请求后,由Web应用服务器对浏览器的请求进行处理,将生成的响应传递给Web服务器,再由Web服务器返回给客户端。为了简化W...

元宵大师
07/27
0
0
【译】使用python创建一个简单的restful风格的webservice应用

这是一个如何使用python快速构建简单restful风格webservice的应用教程。 1.分析rest路由规则 rest风格的服务通常使用web.py来创建服务器端脚本,一般情况下包含两个url路径: 一个是为了查询所...

jeffsui
2014/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MYSQL事务处理

INNODB 事务里,所有表引擎必须为INNODB,在非实务表上操作,不会警告,不会报错,但没有效果

关元
9分钟前
0
0
cmake 编译脚本

#!/bin/sh test -d build || mkdir -p build cd build cmake .. make

shzwork
26分钟前
2
0
从零开始实现Vue简单的Toast插件

概述: 在前端项目中,有时会需要通知、提示一些信息给用户,尤其是在后台系统中,操作的正确与否,都需要给与用户一些信息。 1. 实例 在Vue组件的methods内,调用如下代码 `this``.$toast({...

前端小攻略
31分钟前
1
0
yaf和yaconf

pecl install yafpecl install yaconf [yaf] yaf.environ = dev yaf.use_spl_autoload = On yaf.use_namespace = 1 [yaconf] yaconf.directory = /data/wwwroot/yaconf......

果树啊
31分钟前
0
0
day01:shell基础(shell基础、alias及重定向)

1、shell基础介绍: shell是一个命令解释器,用于用户与机器的交互: 也支持特定的语法(逻辑判断,循环): 每个用户都有自己特定的shell:Centos7的shell是bash(bourne agin shell): shel...

芬野de博客
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部