`
san_yun
  • 浏览: 2663242 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

非常简单的Python HTTP服务

 
阅读更多

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

 

如果你急需一个简单的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://www.dongwm.com/archives/guanyu/

分享到:
评论

相关推荐

    超简单的Python HTTP服务

    超如果你急需一个简单的Web ...实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行。下面是这个命令行:(假设我们需要共享我们的目录 /home/haoel 而IP地址是192.168.1.1) $ cd /home/ha

    Python实现简单的HTTP服务器(GET/POST)

    本文将深入探讨如何使用Python实现一个简单的HTTP服务器,支持GET和POST请求。通过理解这个过程,你可以更好地理解网络通信的基本原理,以及Python在网络编程中的应用。 首先,让我们了解HTTP(超文本传输协议)的...

    Python语言实现http服务器

    在这个项目中,我们使用Python编写了一个多线程的HTTP服务器,这对于学习和测试网页应用或者本地文件共享都非常有用。接下来,我们将详细探讨Python实现HTTP服务器的关键知识点。 1. **Python内置HTTP服务器模块**:...

    python袖珍http服务器

    Python袖珍HTTP服务器是一种小型、轻量级的网络服务程序,它允许用户通过Python语言在本地或局域网内快速搭建一个HTTP服务器,用于分享文件或HTML页面。这个服务器特别适用于开发者测试网页或者向他人展示作品,因为...

    Python-Responder一个熟悉的PythonHTTP服务框架

    Python Responder 是一个基于 ASGI(Asynchronous Server Gateway Interface)的 HTTP 服务框架,由 Python 开发者 Taoufik Bouganida 创建并维护。这个框架的设计目标是为开发者提供一个简洁、直观且高性能的 API,...

    Python内置的HTTP协议服务器SimpleHTTPServer使用指南

    Python 内置了一个简单的 HTTP 服务器模块 `SimpleHTTPServer`,它能够帮助用户快速搭建一个 HTTP 服务来实现文件共享等功能。该模块功能较为基础,适用于开发测试环境下的轻量级文件访问需求。本文将详细介绍如何...

    Python-内网tcphttp穿透支持http设置帐号密码

    模块可以用来构建简单的HTTP服务器,而requests库则可以用于HTTP客户端的请求。为了实现穿透,我们需要公网服务器作为中间人,接收来自公网的HTTP请求,然后转发到内网的HTTP服务。 对于"支持HTTP设置帐号密码"的...

    Python-aiohttp一个用于asyncio和Python的异步HTTP客户端服务器

    Python的aiohttp库是为Python的异步IO框架asyncio设计的一个强大的...无论是处理HTTP请求还是构建WebSocket服务,aiohttp都是Python异步网络编程的强大工具。通过深入学习和实践,你可以充分利用其优势来优化你的项目。

    python 简单TCP源码(服务器+客户端)

    在这个“python简单TCP源码(服务器+客户端)”中,我们将探讨如何使用Python 2.7实现一个基本的TCP服务器和客户端。 首先,TCP服务器是网络服务的提供者,它监听特定的端口,等待客户端的连接请求。在Python中,...

    Python-一个采用Python开发的简单缓存服务器

    在IT行业中,Python语言因其简洁明了的语法和丰富的库支持而被广泛应用于各种场景,包括网络服务、数据分析以及我们今天要讨论的主题——缓存服务器的开发。标题中的"Python-一个采用Python开发的简单缓存服务器...

    python http挡板

    Python HTTP 挡板是一种基于Python构建的服务器应用程序,它设计用于处理多个HTTP请求并提供高并发能力。这种服务能够挂载多个业务,意味着它可以作为一个单一的入口点,通过一个公共端口为不同的应用程序或API提供...

    python项目练习-python3实现web服务器

    在本项目中,“python项目练习-python3实现web服务器”是一个基于Python 3的实践教程,旨在帮助学习者掌握如何利用Python构建一个简单的Web服务器。实验楼是一个在线学习平台,提供了这个项目的原始版本,而这里所述...

    python 写的服务器

    Python 作为一种高级编程语言,因其简洁的语法和强大的库支持,常被用于快速开发网络服务,如HTTP服务器、WebSocket服务器、FTP服务器等。下面将详细介绍Python在构建服务器方面的知识。 首先,Python中的基础网络...

    python3写的简单本地文件上传服务器实例

    好吧我随口说的,反正因为各种原因(其实到底是啥我也不知道),简单的学习了下python,然后写了一个上传文件上服务器的小玩具练手。 大概功能是这样: 1、获取本地文件列表(包括文件夹) 2、检查服务器上是否存在...

    用Python脚本实现对Linux服务器的监控

    本文介绍一下使用Python脚本实现对Linux服务器CPU...Python是由GuidovanRossum开发的、可免费获得的、非常高级的解释型语言。其语法简单易懂,而其面向对象的语义功能强大(但又灵活)。Python可以广泛使用并具有...

    python twisted 简单服务器

    python twisted 简单服务器,服务器接收客户端发送的相应的信息,根据信息进行相应的返回数据

    Python3 实现的HTTP服务端(server)和客户端(clients)通信

    在Python3中,进行HTTP服务端与客户端的通信是网络编程的一个重要方面。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。Python3提供了丰富的库来...

    Python-PostMail一个简单的邮件服务器可以让你发送一个邮件只发送一个POST请求

    Python-PostMail是一个轻量级的邮件服务器,它允许开发者通过发送HTTP POST请求的方式来实现电子邮件的发送...通过学习和使用PostMail,你不仅能掌握Python的电子邮件处理,还能了解到如何构建简单的RESTful API服务。

    SpringCloud集成Python服务

    在集成Python服务时,我们需要在Python端实现一个Eureka客户端,让Python服务能够注册到Eureka服务器上,这样SpringCloud中的其他Java服务就能通过Eureka找到Python服务。 接着,我们关注Python服务的构建。在...

    用于多人 python 游戏的非常简单的客户端/服务器库_python_代码_下载

    用于多人 python 游戏的非常简单的客户端/服务器库 处理多房间 用于服务器操作的 TCP 注册到服务器(获取 uniq 标识符) 创建/加入/离开房间 列出房间和容量(例如:room1 2/10 玩家) 自动加入第一个未满的房间 ...

Global site tag (gtag.js) - Google Analytics