今天用python写一个简单的web服务器代码网上都有只是为了方便大家学习做了一个简单的教程

第一首先我们来一张架构以及运行过程的流程图

本文学习仅供参考,需要更多资料可以加群:496257369

简单来说就是web服务器一直监听是否有来自用户的请求

1.如果有请求判断请求得html文件是否存在

2.存在就返回html文件给用户

3.不存在就返回一个404的错误给用户

效果

本文学习仅供参考,需要更多资料可以加群:496257369

本文学习仅供参考,需要更多资料可以加群:496257369

下面贴上这次实现的代码#-*- coding:utf-8 -*-from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServerclass MyHandler(BaseHTTPRequestHandler): #继承BaseHTTPRequestHandler类里面所有的方法 def do_GET(self): try: #当服务器接收到GET请求后调用此方法并尝试打开客户端传来的路径('移除前导"/"') 如果一切正常就会return一个ok #比如我的url是 127.0.0.1/cehsi.html (第八行)会读取当前路径下面的ceshi.html files = open(self.path[1:],'r') self.send_response(200) #如果找到了就返回一个200 self.send_header('Content-type', 'text/html') #这个是数据的头部文件 self.wfile.write(files.read()) #读取html文件并返回给用户 files.close() #释放文件占用的系统资源 except: self.send_error(404, 'File not found: %s '% self.path) #如果报错就提示404 没有找到文件def main(): try: server = HTTPServer(('', 8088), MyHandler) #实例化对象server调用HTTPServer类 并传进去一个8088(socket服务监听的端口) 并把我们自己写的类传进去 print 'welcome to the machine...' #打印欢迎信息 print 'ctrl+c quit' #退出方法 server.serve_forever() #调用serve_forver方法让程序一直监听8088端口并循环等待用户请求 except KeyboardInterrupt: print 'ctrl+c received, shuttingdow server' #如果监听到键盘输入crtl+c就停止程序 server.socket.close()if __name__ == '__main__': main()

Html代码 ceshi.htmlTitle

测试页面<

/h1>

web服务器python_一个简单的web服务器(python)相关推荐

  1. ipad php mysql_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  2. 我的Go语言学习之旅八:创建一个简单的WEB服务器

    因为一直在做WEB程序,所以更关注WEB界的发展,这里就用GO做了一个简单的WEB服务器,直接看例子吧 package main import ( "fmt" "net/ ...

  3. hosts多个ip对应一个主机名_一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端...

    WebSSH 一个简单的Web应用程序,用作连接到ssh服务器的ssh客户端.它是用Python编写的,基于tornado,paramiko和xterm.js. 特征 支持SSH密码验证,包括空密码. ...

  4. ios php mysql实例_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  5. 用python写一个简单的web服务器

    人生苦短,我用python 简洁高效,这才是理想的语言啊 分享一点python的学习经验-----如何用python写一个简单的web服务器 首先,我们需要简单地了解一下网络通信协议,这里用白话介绍一 ...

  6. java实现web服务器_Java 实现一个简单的web服务器

    在日常的开发中,我们用过很多开源的web服务器,例如tomcat.apache等等.现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器.web ...

  7. 如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  8. 【计算机网络作业】Java UDP聊天 和 Socket编写一个简单的Web服务器

    1-1 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Da ...

  9. tomcat(1)一个简单的web server

    [0]README 0.1)本文部分描述转自"深入剖析tomcat", 旨在学习  一个简单的web server  的基础知识: 0.2)for complete source ...

最新文章

  1. 软件工程作业 - wordcount
  2. Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
  3. Hadoop/Spark生态圈里的新气象
  4. 面向对象-----封装
  5. redis nginx session tomcat
  6. 条令考试小程序辅助器_计算机一级考试干货!
  7. Mosquito的优化——epoll优化(七)
  8. python时间比较好_花了半个月时间,终于找到了一款最适合的python教程
  9. Servlet四种访问属性--知识点
  10. 12-Python3 元组
  11. 6、python基础:文件输入输出详解
  12. KW代码检查规则-RLK.JNDI
  13. 程序员也要学英语——数词攻略
  14. 如何让传统行业的电商引发口碑效应并营销
  15. autocomplete属性在谷歌浏览器不起作用
  16. 【android】高仿京东商城App,集成react-native热更功能
  17. r5处理器_R5-4500U / R5-4600U笔记本推荐
  18. cairo-dock天气位置代码
  19. 好消息!IBM技术商用 家乐福食品可追溯 商权让消费增值
  20. Android项目开发实战常用知识点

热门文章

  1. github地址持续收集
  2. 口译务实——unit10 II
  3. oracle 存储结构 语法 第一阶段
  4. 【精华】Asp优化之缓存技术
  5. 初学者虚拟机使用虚拟机
  6. mysql rrd_将RRD数据库中数据导入MYSQL中
  7. android 旋转生命周期,生命周期-如何区分方向更改和离开应用程序android
  8. html5长按 排序,H5 长按 拖拽排序的实现
  9. java中service设计_JDBC中DAO+service设计思想
  10. idea 包拆分_idea springboot项目拆分多模块踩坑记(1)