Python编程实现的简单Web服务器示例


Posted in Python onJune 22, 2017

本文实例讲述了Python编程实现的简单Web服务器。分享给大家供大家参考,具体如下:

最近有个需求,就是要创建一个简到要多简单就有多简单的web服务器,目的就是需要一个后台进程用来接收请求然后处理并返回结果,因此就想到了使用Python来实现。

首先创建一个myapp.py文件,其中定义了一个方法,所有的请求都会经过此方法,可以在此方法里处理传递的url和参数,并返回结果。

def myapp(environ, start_response):
  status = '200 OK'
  headers = [('Content-type', 'text/html')]
  start_response(status, headers)
  if len(environ['PATH_INFO']) == 1:
    return "Hello World!"
  else:
    return "Hello {name}!".format(name=environ['PATH_INFO'][1:])

然后创建一个 server.py文件,其中启动了一个Http服务,并且使用上面创建的app来接收请求并处理

from wsgiref.simple_server import make_server
from myapp import myapp
httpd = make_server('', 8000, myapp)
print "Serving HTTP on port 8000..."
httpd.serve_forever()

最后运行“python server.py”来启动服务。

在浏览器里分别输入下面的url来测试一下结果

http://localhost:8000
http://localhost:8000/kongxx

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python之wxPython应用实例
Sep 28 Python
python下载文件时显示下载进度的方法
Apr 02 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
Python编程把二叉树打印成多行代码
Jan 04 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
pyQt5实时刷新界面的示例
Jun 25 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
Python实现复杂对象转JSON的方法示例
Jun 22 #Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 #Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 #Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 #Python
使用python在本地电脑上快速处理数据
Jun 22 #Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 #Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 #Python
You might like
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
php微信支付之APP支付方法
2015/03/04 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
python中黄金分割法实现方法
2015/05/06 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
三维科技面试题
2013/07/27 面试题
生产经理的自我评价分享
2013/11/07 职场文书
汇源肾宝广告词
2014/03/20 职场文书
爱我中华教学反思
2014/04/28 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
客户答谢会致辞
2015/07/30 职场文书
门卫管理制度范本
2015/08/05 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书