非常简单的Python HTTP服务

如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么, Python 可能帮助你。使用Python可以完成一个简单的内建 HTTP 服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。佻只需要干一件事情,那就是安装一个Python。

实际上来说,这是一个可以用来共享文件的非常有用的方式。实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行。下面是这个命令行:(假设我们需要共享我们的目录 /home/haoel而IP地址是192.168.1.1)


1

2

$ cd /home/haoel

$ python -m SimpleHTTPServer

这就行了,而我们的HTTP服务在8000号端口上侦听。你会得到下面的信息:

Serving HTTP on 0.0.0.0 port 8000 ...

你可以打开你的浏览器(IE或Firefox),然后输入下面的URL:

http://192.168.1.1:8000

如果你的目录下有一个叫 index.html 的文件名的文件,那么这个文件就会成为一个默认页,如果没有这个文件,那么,目录列表就会显示出来。

如果你想改变端口号,你可以使用如下的命令:


1

$ python -m SimpleHTTPServer 8080

如果你只想让这个HTTP服务器服务于本地环境,那么,你需要定制一下你的Python的程序,下面是一个示例:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

import sys

import BaseHTTPServer

from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler

ServerClass  = BaseHTTPServer.HTTPServer

Protocol     = "HTTP/1.0"

if sys.argv[1:]:

    port = int(sys.argv[1])

else:

    port = 8000

server_address = (‘127.0.0.1‘, port)

HandlerClass.protocol_version = Protocol

httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()

print "Serving HTTP on", sa[0], "port", sa[1], "..."

httpd.serve_forever()

注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。

原文地址:http://coolshell.cn/articles/1480.html

时间: 2024-10-31 06:32:14

非常简单的Python HTTP服务的相关文章

非常简单实用的Python HTTP服务

在做分布式系统应用的时候经常在测试环境上传一个包,或者干嘛的,公司的服务器比较bug,只给ldap权限,每次只能scp到自己的个人目录下,然后才能进到公共账号下去cp,比较麻烦.这时候如果你需要一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python 可能帮助到你.使用Python可以完成一个简单的内建 HTTP 服务器.于是,你可以把你的目录和文件都以HTTP的方式展示出来.只需要干一件事情,那就是安装一个Python

python web服务常见的部署方式

引自 - 全面解读python web 程序的9种部署方式 python有很多web 开发框架,代码写完了,部署上线是个大事,通常来说,web应用一般是三层结构 web server ---->application -----> DB server 主流的web server 一个巴掌就能数出来,apache,lighttpd,nginx,iis application,中文名叫做应用服务,就是你基于某个web framework写的应用代码 DB server 泛指存储服务,web开发中用

写一个python的服务监控程序

写一个python的服务监控程序 前言: Redhat下安装Python2.7 rhel6.4自带的是2.6, 发现有的机器是python2.4. 到python站点下载源码.解压到Redhat上.然后执行以下的命令: # ./configure --prefix=/usr/local/python27 # make # make install 这样安装之后默认不会启用Python2.7.须要使用/usr/local/python27/bin/python2.7调用新版本号的python. 而

python web服务学习——flask

flask是一个使用 Python 编写的轻量级 Web 应用框架.也是开发python web服务最常用的框架之一. 第一步当然是安装flask,依然是pip安装: 学习flask可以从官网的quick start(http://flask.pocoo.org/docs/0.10/quickstart/#hooking-in-wsgi-middlewares)开始,这里有许多的小例子,先看一个最简单的 from flask import Flask app = Flask(__name__)

Python Web 服务开发者: 第 1 部分

Python Web 服务开发者: 第 1 部分 Python Web 服务世界 Python 的座右铭一向是“装备齐全”,这是指在安装该语言时会附带一大套标准库和功能程序.本文概述了在 Python 中开发 Web 服务时可以使用的工具和功能程序.这些工具和功能程序包括内置的 Python 功能和第三方开放源代码的工具 0 评论: Mike Olson([email protected])Fourthought, Inc. Uche Ogbuji([email protected])Fourt

python---》客户端与服务端的基础(做一个简单的客户端与服务端)

今天我们分享的内容是python简单的客户端与服务端,此处仅介绍一些简单的函数,并作出来一个玩儿玩儿. 在开始之前呢,先用一张图表示他们之间的关系 我们来按照这个步伐依次介绍: 服务端: import socketserver=socket.socket()#此处是为了创建出来一个服务端,第一步server.bind(('localhost',9999))#将套接字绑定到地址,loclhost是当地地址的的意思,如果要想查看当地地址的话,打开控制台(运行-->cmd) 按ipconfig即可查到

作业1开发一个简单的python计算器

开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致 hint: re.search(r'\([^()]+\)',s).group() '(-

简单的python爬虫 爬的乌云漏洞类型

import urllib.request import re starturl="http://wooyun.org/searchbug.php?q=%E9%87%91%E8%9E%8D" def get_html_response(url): html_response = urllib.request.urlopen(url).read().decode('utf-8') return html_response def geturl(starturl): a=get_html_

Linux下使用pdb简单调试python程序

python自带调试工具库:pdb # -*- coding:utf-8 -*- def func(num): s = num * 10 return s if __name__ == '__main__': print 'debug starting...' print '*' * 10 print 'debug ending-' num = 100 s = func(num) print s 在python文件中不引用pdb库,可以在执行python文件的时候,加上参数: python -m