使用python2与python3创建一个简单的http服务(基于SimpleHTTPServer)

博客介绍了Python2与Python3基于SimpleHTTPServer创建HTTP服务的不同方法。在Linux服务器上,Python2.7环境下可指定端口启动服务;Python3.6则使用http.server创建,操作简单,最后还可新开窗口进行访问测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

python2与python3基于SimpleHTTPServer创建一个http服务的方法是不同的;

 

一、在linux服务器上面检查一下自己的python版本;如:

[root@zabbix ~]# python -V
Python 2.7.5

如果是在2.7的环境下创建,则使用如下命令;

[root@zabbix ~]# python -m SimpleHTTPServer 8880
Serving HTTP on 0.0.0.0 port 8880 ...

后面8880端口是手动指定的。默认为8000; 这样就启动了一个http的服务,目前是监听状态;再打开一个窗口进行访问下;

[root@zabbix ~]# curl -I http://127.0.0.1:8880
HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/2.7.5
Date: Tue, 21 May 2019 10:32:37 GMT
Content-type: text/html; charset=UTF-8
Content-Length: 2106


再回到第一个窗口看一下监听状态;已经有访问了;

[root@zabbix ~]# python -m SimpleHTTPServer 8880
Serving HTTP on 0.0.0.0 port 8880 ...
127.0.0.1 - - [21/May/2019 18:32:37] "HEAD / HTTP/1.1" 200 -

 

二、在python3中创建http服务:

[root@zabbix flask]# python -V
Python 3.6.6

现在我使用python3.6版本来创建http服务;python3.6中要使用http.server来创建。与python2略微不同;

[root@zabbix flask]# python -m http.server 8880
Serving HTTP on 0.0.0.0 port 8880 (http://0.0.0.0:8880/) ...

这样就启来了。so easy;

如上,接下来再新开一个窗口来访问下;

[root@zabbix ~]# curl -I http://127.0.0.1:8880
HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.6.6
Date: Tue, 21 May 2019 10:37:07 GMT
Content-type: text/html; charset=utf-8
Content-Length: 369


成功了;再返回第一个窗口看看;
[root@zabbix flask]# python -m http.server 8880
Serving HTTP on 0.0.0.0 port 8880 (http://0.0.0.0:8880/) ...
127.0.0.1 - - [21/May/2019 18:37:07] "HEAD / HTTP/1.1" 200 -

可以看到没有问题;

 

转载于:https://www.cnblogs.com/hsggj/p/10901625.html

<think>好的,用户想用Python创建一个简单HTTP服务器,需要教程或代码示例。我之前在引用里看到过相关内容,比如引用1和引用2提到使用Python内置的模块来搭建。用户可能希望步骤清晰,代码示例明确,最好还能有验证方法。 首先,确定用户的操作系统,但可能不需要区分,因为Python命令是跨平台的。引用1提到在DOS里用python -m SimpleHTTPServer 8080,但Python 3之后模块改成了http.server,所以需要区分版本。用户可能不知道Python 23的区别,需要说明。 然后,代码示例部分,用户可能需要两种版本的示例,比如Python 2SimpleHTTPServerPython 3http.server。引用2也提到http.server模块,所以应该强调版本差异。另外,用户可能想通过命令行直接启动,或者写一个Python脚本,比如用代码启动服务器,如引用4中的示例。 还要注意端口号的问题,默认是8000,但用户可以指定其他端口。同时,可能需要解释如何访问服务器,比如本地用localhost:端口,其他设备用局域网IP。引用1提到其他机器访问,所以需要包括这部分信息。 另外,用户可能需要知道如何处理请求,比如添加自定义处理程序,但可能超出简易服务器的范围,但可以简要提及。引用4中的示例可能涉及更复杂的处理,但用户的问题主要是简单服务器,所以保持基础步骤。 总结步骤:1. 安装Python2. 进入目录;3. 执行命令;4. 访问测试。同时提供两种版本的命令,并说明区别。可能还需要提到常见问题,比如防火墙设置,权限问题。 最后,相关问题部分,可以问及不同Python版本的区别、修改端口、处理POST请求、生产环境适用性等,如引用3提到的部署到云服务器,但用户当前问题可能不需要深入,但可以作为扩展问题。</think>### 分步解答:Python构建简易HTTP服务器 #### 一、核心方法(Python内置模块) Python内置$http.server$模块(Python 3)和$SimpleHTTPServer$模块(Python 2)可实现一键启动HTTP服务器[^1][^2]。 #### 二、具体操作步骤 1. **进入目标目录** 打开终端,通过`cd`命令切换到需要共享的目录: ```bash cd /path/to/your/directory ``` 2. **执行启动命令** - **Python 3**(推荐): ```bash python -m http.server 8080 ``` - **Python 2**: ```bash python -m SimpleHTTPServer 8080 ``` 其中`8080`为端口号(可自定义,默认8000) 3. **验证服务** 浏览器访问: ```text http://localhost:8080 ``` 或局域网设备访问: ```text http://<你的IP地址>:8080 ``` #### 三、代码扩展(自定义处理程序) ```python from http.server import SimpleHTTPRequestHandler, HTTPServer class CustomHandler(SimpleHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header(&#39;Content-type&#39;, &#39;text/html&#39;) self.end_headers() self.wfile.write(b&#39;Hello from Python HTTP Server!&#39;) server = HTTPServer((&#39;0.0.0.0&#39;, 8000), CustomHandler) server.serve_forever() ``` 运行此代码会显示自定义响应内容而非目录列表[^4]。 #### 四、应用场景说明 - 本地文件共享(开发环境) - API接口快速测试 - 临时跨设备传输文件(需局域网)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值