app搭建代理(搭建代理服务器访问国外网站)


背景

ChatGPT 是最近非常罕见的一个“双向封锁”的超级应用,即它自身不面向中国用户提供服务,如果要用的爽你得搞定海外信用卡、海外手机号、海外 IP,网页版的使用非常不方便。

但 ChatGPT 还提供了 API 服务,这就意味着我们可以通过 API 来调用它的服务,搞定一个 API Key 就万事大吉可以使用了。并且对于各位懂哥而言,基于 API 封装下就可以当成自己的产品了。

虽然只需要获取到一个 API Key 就可以调用 GPT 服务,但是由于网络影响,它的 API 服务在国内的调用非常的不稳定,甚至有时候会出现完全无法调用的情况。万事万物都可以找代理,做中介。API 本身也不例外。不过我搜了一圈下来,合适的教程并不多,唯一一个比较好的是在 Github 项目里,于是萌发出写一个更友好教程的想法。

原方法地址:Github。代理原理

本文中谈到的方法主要是先将域名托管至 Cloudflare,然后使用 Cloudflare 的 Workers 服务来进行中转。这样做的好处是:

前置条件1. 将域名托管至 Cloudflare

点击 Cloudflare,注册一个账号,然后将自己的域名托管至 Cloudflare。这个步骤比较简单,按照 Cloudflare 的页面提示照做即可,不再赘述。

image.png

2. 创建 Workers以下 Cloudflare 简称为 CF。

回到 CF 首页,点击“创建 Worker”。CF 居然没有提供自定义选项app搭建代理,必须选择它的模板,所以可以先直接选择 Hello Word 模板,然后再编辑里面的代码。

image.png

进去后直接点击“部署”按钮。

image.png

修改 Workers 代码

创建完成后需要进去修改代码,修改这部分代码:

image.png

修改为以下代码:

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;
}

修改完之后不着急发送请求,直接点击右上角的“保存并部署”按钮。然后顺便重命名下这个 Workers。

image.png

image.png

3. 绑定域名

Workers 创建好之后,前往你刚刚添加的那个域名。点击左侧菜单栏中的 “Workers 路由”,然后点击“添加路由”。

image.png

现在为你的代理链接想一个名字,比如说我这里想要以 网址作为我的代理链接,那么我就在路由中输入 /*,然后选择刚刚创建的 Workers,点击“保存”按钮。

image.png

最后再在 DNS 中添加这个地址,A 类型,内容写为 2.2.2.2,打开小云朵,点击保存即可。

image.png

验证请求是否成功

现在你可以使用你的域名来请求 GPT API 了,比如说我这里使用 来请求 GPT API,如果返回了以下内容,那么就说明你的代理已经搭建成功了。

image.png

等等,这是个报错信息呀!但是这个报错说明已经能够正确连接到 GPT 的官方 API 服务地址了,但是还需要输入一个 API Key 才能够让 GPT 解答我们的问题。现在在终端里输以下个命令app搭建代理,把 Bearer 后面的 sk-xxxx 替换成自己的 API Key 就可以正确得到返回结果啦。

curl --location 'https://gptapi.wsyfin.com/v1/chat/completions' 
--header 'Authorization: Bearer sk-********' 
--header 'Content-Type: application/json' 
--data '{
   "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "鲁迅为什么暴打周树人?"}]
 }'

来欣赏下 GPT3.5 是怎么糊弄我们的 :

image.png

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ3361245237,本站将立刻清除。