之前 Yanpi Wang 分享过一款本地私密客户端,可以实现私密的本地服务。不过需要密钥和代理地址,密钥比较容易通过购买技术解决,不过代理地址尽量少用为好,自己搭建 API 域名地址已经成为一部分人的必需品。
这个方案主要思路是使用代理API地址,然后使用自己的域名在国内访问。因为有每天10万请求的免费额度,也有可以免费注册的域名,可以说几乎没有经济成本。技术成本请自行了解。
要使用此解决方案,您需要满足以下条件:
步骤概述 新建一个 粘贴反码到里面 然后部署到 绑定一个国内可以访问的域名 改用自己的域名 填写各种项目 实现国内直接访问
具体步骤
1. 将域名NS转移至
如果没有域名,请自行购买,腾讯云或者阿里云都可以,官网也有基础教程,如果不会操作,建议还是别费心了...
如果您的域名已经托管,则可以忽略此步骤。
如果你没有账号,可以注册一个,注册的具体步骤我就不多说了,注册或者登录管理界面后,点击侧边栏的“”,然后点击“添加站点”按钮,准备将域名转入:
在“输入您的站点()”中输入需要转入的域名后,点击“添加站点”:
根据提示在域名注册商处将NS更改为指定地址,等待域名解析成功,再进行后续操作。
创造
登录管理界面后,点击侧边栏的“ ”选项,然后点击“a”即可创建一个。
然后在创建界面输入“name”,点击“ ”按钮,即可新建一个。暂且忽略“a”项。
现在已经创建好了,让我们开始修改代码,以便它可以代理API。
修改后的代码
在管理界面点击右上角的“快速编辑”按钮,可以编辑代码。
在左侧的代码编辑器中,删除所有现有代码,然后将以下内容复制并粘贴到代码编辑器中:
const TELEGRAPH_URL = 'https://api.openai.com';
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url);
url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');
const modifiedRequest = new Request(url.toString(), {
headers: request.headers,
method: request.method,
body: request.body,
redirect: 'follow'
});
const response = await fetch(modifiedRequest);
const modifiedResponse = new Response(response.body, response);
// 添加允许跨域访问的响应头
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
return modifiedResponse;
}
最后点击编辑器右下角的“保存并”按钮即可部署代码,在弹出的对话框中继续选择“保存并”确认部署。
此时你可以用该地址替换API地址,比如你想请求某个API的时候,就把官方文档里的地址替换成你自己的地址即可.dev
但是你会发现这还是没能解决问题,因为.dev域名在国内是不能直接访问的。所以我们需要绑定一个自己的域名。
绑定域名
在管理界面中点击“ ”标签,然后点击“ ”中的“添加”按钮,绑定域名。
输入域名后,点击“添加”,添加您之前绑定的域名。
之后你可以把API地址替换成你自己的域名,在国内就可以直接使用。
比如本文的例子,如果你想请求一个API,你只需要把官方的API地址替换成你自己的域名就可以了。由于每天有10万个请求的免费额度,个人使用基本是免费的。如果要用于商业用途,这个额度是不够的。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。