python运行httpserver

本文介绍如何使用Python命令行启动简易HTTP服务器。提供了两种方法:一种适用于Python 2.x版本,另一种适用于Python 3.x版本。
$ python -m SimpleHTTPServer 8080
$ python3 -m http.server 8080

 

转载于:https://www.cnblogs.com/Bob-wei/p/9327641.html

### 创建简单HTTP服务器 对于希望快速建立一个简易Web服务器而不依赖于复杂的服务程序如Apache或Nginx的情况,Python提供了简便的方法来实现这一目标。通过利用`http.server`模块,可以在本地轻松启动一个HTTP服务器实例[^2]。 #### 方法一:使用 `http.server` 最直接的方式是在命令行输入特定指令来迅速部署服务器: ```bash python -m http.server 8080 ``` 上述命令会在指定的8080端口上启动服务,并使得当前工作目录下的文件可以通过网络访问[^3]。 #### 方法二:编写脚本方式启动HTTP服务器 除了命令行操作外,还可以编写一段简单的Python代码来自定义配置并运行HTTP服务器: ```python from http.server import SimpleHTTPRequestHandler, HTTPServer def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler): server_address = ('', 8080) # 绑定到所有接口上的8080端口 httpd = server_class(server_address, handler_class) print(f"Serving on port {server_address[1]}") try: httpd.serve_forever() # 开始无限循环等待客户端请求 except KeyboardInterrupt: print("\nShutting down the web server.") httpd.socket.close() if __name__ == "__main__": run() ``` 这段代码同样会创建一个监听8080端口的HTTP服务器,允许浏览者查看该位置存储的数据资源。 #### 方法三:基于Socket的手动实现 虽然不推荐初学者采用此方法,但对于想要深入了解底层机制的学习者来说,也可以尝试使用更基础的方式来构建HTTP服务器——即借助Python中的`socket`库来进行开发[^4]。 ```python import socket HOST, PORT = '', 8888 listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) listen_socket.bind((HOST, PORT)) listen_socket.listen(1) print(f'Serving HTTP on port {PORT} ...') while True: client_connection, client_address = listen_socket.accept() request_data = client_connection.recv(1024).decode('utf-8') response = """\ HTTP/1.1 200 OK\nContent-Type: text/html; charset=UTF-8\n\n<html><body>Hello World</body></html>""" client_connection.sendall(response.encode()) client_connection.close() ``` 这种方法给予开发者更大的灵活性去定制化每一个细节,但是也增加了编程难度以及可能出现错误的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值