文档章节

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

艾柯
 艾柯
发布于 2014/01/14 10:29
字数 540
阅读 864
收藏 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!


© 著作权归作者所有

艾柯
粉丝 17
博文 19
码字总数 7417
作品 0
成都
私信 提问
Web.py 初探:安装与HelloWorld

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

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

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

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

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

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

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

元宵大师
2018/07/27
0
0
开发自己的监控系统二、web篇

开发自己的监控系统一、email篇 开发自己的监控系统三、移动篇(android) web篇: 关键字:shell mysql python web.py 在上一篇中,我们介绍了如何使用shell脚本监控系统状态,并在出现异常...

cszer
2013/06/09
242
0

没有更多内容

加载失败,请刷新页面

加载更多

Kettle自定义jar包供javascript使用

我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法。所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用。 本篇文章有参考自:https://www...

CREATE_17
昨天
58
0
处理CSV文件中的逗号

我正在寻找有关如何处理正在创建的csv文件的建议,然后由我们的客户上传,并且该值可能带有逗号(例如公司名称)。 我们正在研究的一些想法是:带引号的标识符(值“,”值“,”等)或使用|...

javail
昨天
57
0
如何克隆一个Date对象?

将Date变量分配给另一个变量会将引用复制到同一实例。 这意味着更改一个将更改另一个。 如何实际克隆或复制Date实例? #1楼 简化版: Date.prototype.clone = function () { return new ...

技术盛宴
昨天
61
0
计算一个数的数位之和

计算一个数的数位之和 例如:128 :1+2+8 = 11 public int numSum(int num) { int sum = 0; do { sum += num % 10; } while ((num = num / 10) > 0); return sum;......

SongAlone
昨天
106
0
为什么图片反复压缩后普遍会变绿,而不是其他颜色?

作者:Lion Yang 链接:https://www.zhihu.com/question/29355920/answer/119088684 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 业余版概要:安卓的...

shzwork
昨天
55
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部