python超简单的web服务器

今天无意google时看见,心里突然想说,python做web服务器,用不用这么简单啊,看来是我大惊小怪了.

web1.py

1

2

3

#!/usr/bin/python

import SimpleHTTPServer

SimpleHTTPServer.test()

web2.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

#!/usr/bin/python

import SimpleHTTPServer

import SocketServer

import os

PORT = 80

WEBDIR = "f:/python语言学习"

class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):

def translate_path(self, path):

os.chdir(WEBDIR)

return SimpleHTTPServer.SimpleHTTPRequestHandler.translate_path(self,path)

try:

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "dir %s serving at port %s"%(repr(WEBDIR), PORT)

httpd.serve_forever()

except:pass

web3.py , cgi server ,7777端口, 在web3.py执行目录下新建cgi-bin目录 , 在cgi-bin目录写hello.py

web3.py

1

2

3

4

5

from CGIHTTPServer import CGIHTTPRequestHandler

from BaseHTTPServer import HTTPServer

server_address=(‘‘,7777)

httpd = HTTPServer(server_address, CGIHTTPRequestHandler)

httpd.serve_forever()

hello.py

1

2

3

4

5

6

7

8

#!c:/Python24/python.exe

print "HTTP/1.0 200 OK"

print "Content-Type: text/html"

print ""

print "<p>"

print "Hello World!"

print "</p>"

以下这些是需要安装了 twisted 才能使用的
web4.py

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

from twisted.web.resource import Resource

from twisted.web import server

from twisted.web import static

from twisted.internet import reactor

class ReStructured( Resource ):

def __init__( self, filename, *a ):

self.rst = open( filename ).read( )

def render( self, request ):

return self.rst

PORT=8888

resource = static.File(‘/‘)

resource.processors = { ‘.html‘  : ReStructured }

resource.indexNames = [ ‘index.html‘]

reactor.listenTCP(

PORT,

server.Site( resource )

)

reactor.run( )

web5.py, 这是又是支持cgi的,又是需要twisted模块的,也是需要在cgi-bin目录下执行,上边的hello.py也能用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# -*- coding: utf-8 -*-

from twisted.internet import reactor

from twisted.web import static, server, twcgi

from twisted.web.resource import Resource

class Collection(Resource):

def render_GET(self, request):

return "hello world 你好"

root = static.File(‘./‘)

root.putChild(‘‘, Collection())

root.putChild(‘img‘, static.File(‘./img‘))

root.putChild(‘cgi-bin‘, twcgi.CGIDirectory(‘cgi-bin‘))

reactor.listenTCP(80, server.Site(root))

reactor.run()

当然,想实现复杂功能还是需要自己搞代码的,只不过想惊叹python的模块集成得太多功能了.
python超简单的web服务器。

时间: 2024-10-12 09:23:08

python超简单的web服务器的相关文章

python搭建简单的web服务器

由于要做自动化和性能测试,工作中需要有一个能够控制返回消息数据的web服务器,所以用python初步实现了一个简单的web服务器,能够处理HTTP的请求(GET,POST,PUT),并完成响应.先简单说明下原理,python中实现web服务器大概分两个步骤: 1.      创建一个套接字,绑定到指定的IP和端口,保持监听 2.      创建一个handle类,当收到请求消息时,作出响应 主要使用的类有两个: HTTPServer:HTTP服务器的基类,提供了HTTP服务器的常用方法,创建服务

python一个简单的web服务器和客户端

服务器: 当客户联系时创建一个连接套接字 从这个连接接收HTTP请求(*) 解释该请求所请求的特定文件      从服务器的文件系统获取该文件 并发送文件内容 如果文件不存在,则返回"404 Not Found"(*) 客户端: 客户端可以与服务器建立TCP连接 客户端通过TCP连接请求服务器端的某一文件 在客户端显示介绍到的文件内容 注:在运行此文件前,server.py目录下需要包含file文件夹,里面装有服务器里的文件,客户端可以向服务器请求file里的文件. readme:首先

Python实现简单的Web服务器 解析

代码来源https://www.shiyanlou.com/courses/552,对它进行理解,注释 #-*- coding:utf-8 -*- import BaseHTTPServer class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): '''处理请求并返回页面''' # 页面模板 Page = ''' <html> <body> <p>Hello, web!</p> </bo

《Python入门》第一个Python Web程序——简单的Web服务器

上一篇讲了<Python入门>Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序--简单的Web服务器. 与其它Web后端语言不同,Python语言需要自己编写Web服务器. 如果你使用一些现有的框架的话,可以省略这一步: 如果你使用Python CGI编程的话,也可以省略这一步: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录

python第三方库系列之十六--建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器也可以通过服务器的IP地址来访问. 这里的

【转】用Python建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器也可以通过服务器的IP地址来访问. 这里的

【重要】怎么自行搭建简单的web服务器

# -*- coding: utf-8 -*- #python 27 #xiaodeng #CGI模块 #怎么自行搭建简单的web服务器 #用途: #内网中,提供文件的共享服务非常有用,在cmd下启动运行服务器命令之后,其他电脑也是可以通过url访问的 #可以实现pdf.zip等压缩文件.exe.apk等软件的下载服务. ###搭建基本流程## #1.假定共享文件的目录为:/home/test,ip为#192.168.1.101 ''' 怎么查看本机IP? import socket mynam

python自带的web服务器

python自带的web服务器 python自带的包可以建立简单的web服务器 BaseHTTPServer 提供基本的web服务和处理类 SimpleHTTPServer 包含执行get请求的SimpleHTTPRequestHandler类 CGIHTTPServer 包含处理POST请求和执行的CGIHTTPRequestHandler类 执行语句:python -m CGIHTTPServer 8081 原文地址:https://www.cnblogs.com/themost/p/845

自己动手模拟开发一个简单的Web服务器

开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?“纸上得来终觉浅,绝知此事要躬行”,于是我们自己模拟一个简单的Web服务器来体会一下. 一.请求-处理-响应模型 1.1 基本过程介绍 每一个HTTP请求都会经历三个步凑:请求-处理-响应:每当我们在浏览器中输入一个URL时都会被封装为一个HTTP请求报文发送到Web服务器,而Web服务器则接收并解析HTTP请求报文,然后针对请求进行处理(返回指定的HTML页面