实现Python HTTP服务方法大总结
创始人
2024-06-22 07:41:34
0

下面详细介绍如何使用Python可以很快搭建一个HTTP服务器,实现一个微型的Python HTTP服务程序,想要知道什么是Python HTTP服务的实现方法,那么就请仔细看完本文吧。

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

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

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

  1. $ cd /home/haoel  $ python -m SimpleHTTPServer   

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

  1. http://192.168.1.1:8000  

如果你的目录下有一个叫 index.html 的文件名的文件,那么这个文件就会成为一个默认页,如果没有这个文件,那么,目录列表就会显示出来。如果你想改变端口号,你可以使用如下的命令:

  1. $ python -m SimpleHTTPServer 8080  

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

  1. import sys  import BaseHTTPServer  from SimpleHTTPServer import SimpleHTTPRequestHandler  
  2. HandlerClass = SimpleHTTPRequestHandler  ServerClass  = BaseHTTPServer.HTTPServer 
  3.  Protocol     = "HTTP/1.0"  
  4. if sys.argv[1:]:      port = int(sys.argv[1]) 
  5.  else:      port = 8000 server_address = ('127.0.0.1', port)   
  6. HandlerClass.protocol_version = Protocol  httpd = ServerClass(server_address, HandlerClass) 
  7.   sa = httpd.socket.getsockname()  print "Serving HTTP on", sa[0], "port", sa[1], "..." httpd.serve_forever()   

我们的Python HTTP服务这样就完成了。注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。

【编辑推荐】

  1. 如何使Python嵌入C++应用程序?
  2. 深入探讨Ruby与Python语法比较
  3. Python学习资料介绍分享
  4. Python学习经验谈:版本、IDE选择及编码解 决方案
  5. 浅析Python的GIL和线程安全

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...