成品
(网站迁移中)
教程
项目结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| . │.gitignore │vercel.json ├─.vercel │ project.json │ README.txt ├─api │ acg.py │ test.py └─img └─acg 001.png 002.png ... 099.png 100.png
|
在项目根目录下创建”api”文件夹,在api中创建可执行文件(如index.py),则该文件会被尝试执行,如果将可执行文件直接放在根目录,则会被当作文本文件读取.
文件示例
acg.py文件内容如下:
1 2 3 4 5 6 7 8 9 10 11
| from http.server import BaseHTTPRequestHandler import random class handler(BaseHTTPRequestHandler): def do_GET(self): random_number = random.randint(1, 100) formatted_number = "{:03d}".format(random_number) redirect_url = f'https://api.night1918.top/img/acg/{formatted_number}.png' self.send_response(302) self.send_header('Location', redirect_url) self.end_headers() return
|
test.py文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12
| from http.server import BaseHTTPRequestHandler class handler(BaseHTTPRequestHandler): def do_GET(self): if self.headers.get('Custom-Header') == 'luck': self.send_response(200) self.send_header('Content-type', 'text/plain') self.end_headers() self.wfile.write("lucky boy".encode()) else: self.send_error(403) return
|
配置文件
在项目根目录下创建文件vercel.json
,通过该文件可以配置运行环境,自定义路由等.
1 2 3 4 5 6 7 8 9 10 11 12
| { "routes": [ { "src": "/acg", "dest": "/api/acg" }, { "src": "/test", "dest": "/api/test" } ] }
|
例如上面的json代码指定使用/api/acg.py
文件执行/acg
路由的请求.
部署
在项目根目录下打开命令行,执行vercel --prod
即可将项目部署到vercel中,访问https://<你的域名>/api/acg
即可看到效果