python中一个简单的webserver 2013-02-24 15:37:49

分类: Python/Ruby

支持多线程的webserver

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/python
from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer,BaseHTTPRequestHandler
 
class myHandler(BaseHTTPRequestHandler):
    #Handler for the GET requests
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type','text/html')
        self.send_header('Uri',self.path)
        self.end_headers()
        self.wfile.write("hi multi threading test!\n")
 
  
class ThreadingHttpServer(ThreadingMixIn, HTTPServer):
    pass
PORT_NUM=8080
serverAddress=("", PORT_NUM)
server=ThreadingHttpServer(serverAddress, myHandler)
print 'Started httpserver on port ' , PORT_NUM
server.serve_forever()

测试:

curl -v http://127.0.0.1:8080/

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost ~]# curl -v http://127.0.0.1:8080/
* About to connect() to 127.0.0.1 port 8080
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 8080
> GET / HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: 127.0.0.1:8080
> Accept: */*
>
< HTTP/1.0 200 OK
< Server: BaseHTTP/0.3 Python/2.4.3
< Date: Sun, 24 Feb 2013 07:28:46 GMT
< Content-type: text/html
< Uri: /
hi multi threading test!
* Closing connection #0

python中一个简单的webserver的更多相关文章

  1. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  2. 用Python编写一个简单的Http Server

    用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...

  3. Python实现一个简单三层神经网络的搭建并测试

    python实现一个简单三层神经网络的搭建(有代码) 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层.本文所构建的神经网络隐藏层只有一层.一个神经网 ...

  4. 一个简单的WebServer,socket+threading

    一个简单的WebServer import socket import threading body = '<h1> web server </h1>' response_pa ...

  5. 【Python】一个简单的例子

    问题描述:          Python基础篇   参考资料:          (1)http://www.cnblogs.com/octobershiner/archive/2012/12/04 ...

  6. 用python实现一个简单的词云

    对于在windows(Pycharm工具)里实现一个简单的词云还是经过了几步小挫折,跟大家分享下,如果遇到类似问题可以参考: 1. 导入wordcloud包时候报错,当然很明显没有安装此包. 2. 安 ...

  7. python制作一个简单的中奖系统

    注释: 展示图下的代码,我是用pycharm写的,是python解释器中的一种,本课没不同解释器的要求,可根据自己喜欢的解释器编写. 步骤: 本期给大家带来的是,一个简单的中奖系统,首先打开自己电脑上 ...

  8. python 搭建一个简单的 搜索引擎

    我把代码和爬好的数据放在了git上,欢迎大家来参考 https://github.com/linyi0604/linyiSearcher 我是在 manjaro linux下做的, 使用python3 ...

  9. 为Python编写一个简单的C语言扩展模块

    最近在看pytorh方面的东西,不得不承认现在这个东西比较火,有些小好奇,下载了代码发现其中计算部分基本都是C++写的,这真是要我对这个所谓Python语音编写的框架或者说是库感觉到一丢丢的小失落,细 ...

随机推荐

  1. Hibernate初了解

    Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...

  2. 用DotNetDetour HOOK .net类库

    https://github.com/bigbaldy1128/DotNetDetour ------------------------------------------------------- ...

  3. centos7 系統vps安裝mysql5.6及設置本地遠程連接筆記

    用xshell連接上vps 1,下载mysql的repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm su ...

  4. nginx配置thinkphp项目(nginx下去掉index.php)

    server { listen 80; server_name xxxxx; root "/www/public"; location / { index index.html i ...

  5. 7.接入类流程-PRACH优化

    PRACH优化 就是伪随机序列随机码(前导序列码).优化的目的就是减小码与码之间碰撞的 基站广播伪随机序列码(如64个),终端挑选一个发送.不同的用户使用同一个码就会产生碰撞.同频组网情况下,邻区的伪 ...

  6. Akka系列(六):Actor解决了什么问题?

    前言..... 文档来源于  : What problems does the actor model solve? Actor解决了什么问题? Akka使用Actor模型来克服传统面向对象编程模型的 ...

  7. Qt - 获取本机网络信息

    目的: 获取本机的主机名.IP地址.硬件地址等网络信息. 工具: 使用Qt提供的网络模块QtNetwork(pro文件里面加network): 使用Qt提供的类QHostInfo.QNetworkIn ...

  8. [Python3] 030 常用模块 os

    目录 os 1. os.getcwd() 2. os.chdir() 3. os.listdir() 4. os.makedir() 5. os.system() 6. os.getenv() 7. ...

  9. [转帖]2018年全球ERP软件行业市场规模与发展趋势分析 云ERP将兴起【组图】

    2018年全球ERP软件行业市场规模与发展趋势分析 云ERP将兴起[组图] https://www.qianzhan.com/analyst/detail/220/190215-4b1d6868.ht ...

  10. 【转帖】大话Spring Cloud

    springcloud(一):大话Spring Cloud 2017/05/01   http://www.ityouknow.com/springcloud/2017/05/01/simple-sp ...