python一个命令开启http服务器

本文介绍如何使用Python开启HTTP服务器及CGI映射。通过命令行输入特定指令即可启动服务器,并可配置不同端口。此外,还介绍了如何设置Py脚本以实现CGI功能并输出指定内容。

1、python开启http服务器

python -m SimpleHTTPServer 8080
如果提示错误:
python.exe: No module named SimpleHTTPServer

则试一下命令:
python -m http.server

2、执行py脚本文件,开启cgi映射

python -m http.server --cgi 8000

py代码里添加

header = 'Content-Type: text/html\n'
print(header)

比如/cgi-bin/1.py文件代码:

header = 'Content-Type: text/html\n'
html = 'abc'
print(header)
print(html)

访问http://127.0.0.1:8000/cgi-bin/1.py

可以正常输出abc

Ps:

py代码文件默认目录在cgi-bin或者htbin

http.server官方文档 https://docs.python.org/3/library/http.server.html

作者:zqifa

出处:https://www.l1mn.com

<think>好的,用户想用Python创建一个简单的HTTP服务器,需要教程或代码示例。我之前在引用里看到过相关内容,比如引用1和引用2提到使用Python内置的模块来搭建。用户可能希望步骤清晰,代码示例明确,最好还能有验证方法。 首先,确定用户的操作系统,但可能不需要区分,因为Python命令是跨平台的。引用1提到在DOS里用python -m SimpleHTTPServer 8080,但Python 3之后模块改成了http.server,所以需要区分版本。用户可能不知道Python 2和3的区别,需要说明。 然后,代码示例部分,用户可能需要两种版本的示例,比如Python 2用SimpleHTTPServer,Python 3用http.server。引用2也提到http.server模块,所以应该强调版本差异。另外,用户可能想通过命令行直接启动,或者写一个Python脚本,比如用代码启动服务器,如引用4中的示例。 还要注意端口号的问题,默认是8000,但用户可以指定其他端口。同时,可能需要解释如何访问服务器,比如本地用localhost:端口,其他设备用局域网IP。引用1提到其他机器访问,所以需要包括这部分信息。 另外,用户可能需要知道如何处理请求,比如添加自定义处理程序,但可能超出简易服务器的范围,但可以简要提及。引用4中的示例可能涉及更复杂的处理,但用户的问题主要是简单服务器,所以保持基础步骤。 总结步骤:1. 安装Python;2. 进入目录;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('Content-type', 'text/html') self.end_headers() self.wfile.write(b'Hello from Python HTTP Server!') server = HTTPServer(('0.0.0.0', 8000), CustomHandler) server.serve_forever() ``` 运行此代码会显示自定义响应内容而非目录列表[^4]。 #### 四、应用场景说明 - 本地文件共享(开发环境) - API接口快速测试 - 临时跨设备传输文件(需局域网)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingofyz

此处弱弱求打赏~~万一有好心人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值