1、Web服务器
web 服务器一词可以代指硬件或软件,或者是它们协同工作的整体。
基本上,当浏览器需要一个托管在网络服务器上的文件的时候,浏览器通过 HTTP 请求这个文件。当这个请求到达正确的 web 服务器(硬件)时,HTTP 服务器(软件)收到这个请求,找到这个被请求的文档(如果这个文档不存在,那么将返回一个 404 响应),并把这个文档通过 HTTP 发送给浏览器。
<font color=blue>web 服务器提供了 HTTP(Hypertext Transfer Protocol,超文本传输协议)支持。正如它的名字暗示,HTTP 明确提出了如何在两台计算机间传输超文本(链接的 web 文档)。
协议是一套为了在两台计算机间交流而制定的规则。HTTP 是一个文本化的(textual),无状态的(stateless)协议。
2、Python
2.1 简介
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
- Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
- Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
2.2 安装
https://www.python.org/downloads/windows/
2.3 使用
2.3.1 http.server(命令)
Python中自带了简单的服务器程序,能较容易地打开服务。 在python3中将原来的SimpleHTTPServer命令改为了http.server,使用方法如下:
cd test
python -m http.server
# 如果不使用默认端口,可在开启时附带端口参数
python -m http.server 8001
# (-b 绑定ip,不指定的话默认是本机ip)
python -m http.server -b 127.0.0.1
# 下面的命令使用一个特定的目录:
python -m http.server --directory /tmp/
命令行执行如下:
http://127.0.0.1:8000
开启成功,则会输出“Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …”,表示在本机8000端口开启了服务。
浏览器访问如下: 可以使用http://127.0.0.1:8000/查看www目录下的网页文件,若无index.html则会显示目录下的文件。
http://127.0.0.1:8000
如果需要后台运行,可在命令后加"&"符号,Ctrl+C不会关闭服务,如下:
python -m http.server &
如果要保持服务,则在命令前加nohup以忽略所有挂断信号,如下:
nohup python -m http.server 8001
2.3.2 socketserver
import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
httpd.serve_forever()
- 代码执行如下:
- 浏览器访问如下:
http://127.0.0.1:8000
2.3.3 flask
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。 Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
- 安装库
pip install flask
- app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
- 脚本代码执行如下:
- 浏览器访问如下:
http://127.0.0.1:5000
或者通过如下命令执行脚本文件app.py。
flask run
2.3.4 fastapi
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。 FastAPI 可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)。 FastAPI 框架,高性能,易于学习,高效编码,生产可用
https://fastapi.tiangolo.com/zh/
- 安装库
pip install fastapi
pip install fastapi[all]
pip install uvicorn
- main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
通过如下命令执行脚本文件:
uvicorn main:app --reload
运行结果如下: 浏览器访问如下:
http://127.0.0.1:8000
结语
如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;
╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地
//(ㄒoㄒ)//,就在评论处留言,作者继续改进;
o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位大佬童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!