利用python写了一小段代码,里面使用到了Python标准库的BaseHTTPServer来构建一个基础HTTP服务器: 1 #-*- coding:utf-8 -*- 2 import http.server python server.py Traceback (most recent call last): File "server.py", line 2, in <module> import BaseHTTPServer ImportError: No module named 'BaseHTTPServer' 原因: http.server only exists in Python 3. In Python 2, you should use the BaseHTTPServer module: 也就是说在Python3中应该使用http.server 来代替Python2的BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler import BaseHTTPServer class CORSRequestHandler Access-Control-Allow-Origin', '*') SimpleHTTPRequestHandler.end_headers(self) if __name__ == '__main__': BaseHTTPServer.test (CORSRequestHandler, BaseHTTPServer.HTTPServer)
如何用Python实现一个简单的Web服务器 这里我们将使用Python的BaseHTTPServer模块来实现一个简单的Web服务器。 import BaseHTTPServer class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(self): self.send_response def main(): try: server = BaseHTTPServer.HTTPServer(('', 8080), MyHandler) print 'started httpserver.
http服务器代码 import sys import BaseHTTPServer from SimpleHTTPServer import SimpleHTTPRequestHandler HandlerClass = SimpleHTTPRequestHandler ServerClass = BaseHTTPServer.HTTPServer Protocol = "HTTP/1.0" if sys.argv openssl req -new -x509 -keyout https_svr_key.pem -out https_svr_key.pem -days 3650 -nodes # import BaseHTTPServer print ("simple https server, address:%s:%d, document root:%s" % (ip, port, script_home)) httpd = BaseHTTPServer.HTTPServer
在python中有比cgi更高级的库来开发网站,那就是BaseHTTPServer。 在电脑和pad之间传文件的时候,我一般都会用python自带的SimpleHTTPServer(通过BaseHTTPServer实现的文件服务器)来完成:python -m SimpleHTTPServer 下面用这个库简单显示一个网站,只需要一个server.py文件: #coding:utf-8 __author__ = 'the5fire' from os import path from BaseHTTPServer
server: #coding=utf-8 from BaseHTTPServer import BaseHTTPRequestHandler import cgi class PostHandler 'utf-8'),'wb') as f: f.write(filevalue) return def StartServer(): from BaseHTTPServer
OPTION # import time import BaseHTTPServer import urlparse import os PASSWORD = 'hello1234' HOST_NAME fdisk') if c not in commandzoo: return 1 return 0 class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler #s.wfile.write("</body></html>") if __name__ == '__main__': server_class = BaseHTTPServer.HTTPServer
Python支持该功能的实现模块是BaseFTTPServer, 我们只需要在项目中引入就可以了: from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer /usr/bin/python from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer PORT_NUMBER = 8080 #This /usr/bin/python from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer from os import curdir, sep /usr/bin/python from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer from os import curdir, sep
http://ip:80 但是这个文件服务器是单线程的,意味着如果多个用户访问会被阻塞,同时只能一个用户访问 优化 import socket import SocketServer import BaseHTTPServer = port def test(HandlerClass=SimpleHTTPRequestHandler, ServerClass=ForkingHTTPServer): BaseHTTPServer.test
服务器端代码(接受post的一端) #coding=utf-8 from BaseHTTPServer import BaseHTTPRequestHandler import cgi class ,'wb') as f: f.write(filevalue) return if __name__=='__main__': from BaseHTTPServer
运行的端口就好了,样例如下: python Command2Api.py "执行的命令" Web运行的端口 “注意,这里的 python 使用的 Python2,而不是 Python3,因为原项目引用了一个包叫 BaseHTTPServer 源码解析 我们再来看看源码吧,其实非常简单,一共就这些代码: import subprocess import BaseHTTPServer import SimpleHTTPServer import sys.argv[2]) print("URL: http://HOST:{0}{1}".format(port, uri)) Handler = ServerHandler httpd = BaseHTTPServer.HTTPServer
2.2、编写https服务器代码 文件名:hts.py import BaseHTTPServer import SimpleHTTPServer import SocketServer import ssl class ThreadedHTTPServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer): print "start
首先在工作目录下创建 server.py 文件 #-*- coding:utf-8 -*- import BaseHTTPServer class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler ###2.显示请求的信息 修改之前的代码来显示请求的信息,同时重新整理一下代码: class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
</body> </html> 在 server.py 中导入需要的库 import sys, os, BaseHTTPServer 为我们的服务器程序写一个异常类 class ServerException 至今为止的代码: #-*- coding:utf-8 -*- import sys, os, BaseHTTPServer class ServerException(Exception): '''服务器内部错误''' pass class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): Error_Page/usr/bin/python import os from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer Host = '' Port
Nodejs Koa,Express PHP Thinkphp,Laravel,CodeIgniter,Yii,Yaf Python Django,Flask,Tornado,Webpy,Bottle,BaseHTTPServer
步骤 1, 2, 6 都是从一个应用程序到另一个,Python 标准库有一个 'BaseHTTPServer' 模块,为我们实现这部分。 import BaseHTTPServer class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): '''Handle HTTP 接下来我们以地址和我们的请求处理类名作为参数创建了BaseHTTPServer.HTTPServer 的一个实例,然后要求它一直运行(这意味着它将一直运行直至我们使用 'Ctrl - C' 杀掉它)。 class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): # ...page template... 它会结合 URL 提供的路径(总是以 '/' 开始,BaseHTTPServer 会自动将它放入 self.path),以获取用户想要的文件的路径。
#基本HTTP python -m BaseHTTPServer 8080 如果当前目录有index.html 则可以直接显示 #简单HTTP 包含GET与HEAD请求 python -m SimpleHTTPServer
**注意,在Python 3.x中,BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer整合到http.server包,SocketServer改名为socketserver 为了使用CGI,我们需要使用BaseHTTPServer包中的HTTPServer类来构建服务器。Python服务器的改动很简单。 CGIHTTPServer: # Written by Vamei # A messy HTTP server based on TCP socket import BaseHTTPServer import HOST = '' PORT = 8000 # Create the server, CGIHTTPRequestHandler is pre-defined handler server = BaseHTTPServer.HTTPServer
这里的“Web服务器模块”有如下三种: BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。 import os #Python的标准库中的os模块包含普遍的操作系统功能 import re #引入正则表达式对象 import urllib #用于对URL进行编解码 from BaseHTTPServer
在新的Python 3.x中,BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer整合到http.server包,SocketServer改名为socketserver 为了使用CGI,我们需要使用BaseHTTPServer包中的HTTPServer类来构建服务器。其实HTTPServer是TCPServer的子类,其使用方法也与TCPServer相同。 CGIHTTPServer: # A messy HTTP server based on TCP socket import BaseHTTPServer import CGIHTTPServer HOST = '' PORT = 8000 # Create the server, CGIHTTPRequestHandler is pre-defined handler server = BaseHTTPServer.HTTPServer