python 编写https接口
时间: 2023-08-10 20:31:09 浏览: 114
要在 Python 中编写 HTTPS 接口,可以使用标准库中的 `http.server` 模块和 `ssl` 模块。
首先,需要生成一个 SSL 证书和私钥。可以使用 OpenSSL 工具来生成。例如,以下命令将生成一个自签名的证书和私钥:
```
openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt
```
接下来,可以使用以下代码创建一个简单的 HTTPS 服务器:
```python
from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl
httpd = HTTPServer(('localhost', 4443), SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile='./server.crt', keyfile='./server.key', server_side=True)
httpd.serve_forever()
```
这将在本地启动一个 HTTPS 服务器,监听端口号为 4443。`http.server` 模块提供了一个名为 `SimpleHTTPRequestHandler` 的简单请求处理程序,它可以处理常见的 HTTP 请求。`ssl` 模块用于将套接字包装在 SSL/TLS 连接中。
当客户端连接到服务器时,它将收到服务器的 SSL 证书。由于这是一个自签名的证书,因此客户端可能会收到安全警告。如果要使用有效的 SSL 证书,请从信任的证书颁发机构购买一个。
这只是一个基本的示例,可以根据需要进行修改。例如,可以使用不同的请求处理程序、更改监听地址和端口号,或启用客户端身份验证等。
阅读全文