以下是一个基本的 Vercel Edge Function 反向代理代码示例:
const fetch = require('node-fetch');
module.exports = async function (req, res) {
const url = req.query.url;
if (!url) {
return res.status(400).send('No URL provided');
}
try {
const response = await fetch(url);
const text = await response.text();
res.status(response.status).send(text);
} catch (err) {
res.status(500).send(err.message);
}
};
该函数会获取传入的 URL 并使用 fetch()
方法向该 URL 发起请求。如果请求成功,该函数将返回响应的状态码和文本响应。如果请求失败,则返回 500 错误并显示错误消息。可以使用以下方式将其部署到 Vercel:
- 在 Vercel 控制台中选择您要用的项目
- 转到“函数”选项卡并单击“添加函数”
- 选择“Edge Function”
- 将上面的代码粘贴到编辑器中
- 点击“部署”
现在,您可以通过向函数 URL 提供 url
参数来测试函数。例如:
https://your-function-url.vercel.app/api/proxy?url=https://www.google.com