【GPT科技系列】国内开发者调用openAI-API科技方法
1. 前言
openAI上线7个月了,但是随着openAI的约束越来越多,国内开发者想要使用openai的接口实现开发简直就是难上加难。那真的就没有办法了吗?no no no,CF解决一切不开心~
2.准备工作
-
- 我们需要一个国际域名
-
- 注册cloudflare账号
-
- 一个代理转发的脚本
工具介绍
域名:
域名是互联网上的一个地址,用于标识一个网站或者一个网络服务的名称。它的作用是让用户更方便地访问网站或者网络服务,而不需要记住复杂的IP地址。当用户在浏览器中输入一个域名时,浏览器会向域名系统(DNS)服务器发送请求,获取该域名对应的IP地址,然后再向该IP地址发送请求,获取网站或者网络服务的内容。域名通常由多个部分组成,例如www.example.com,其中www是子域名,example是二级域名,com是顶级域名。
CloudFlare:简称CF(可不是穿越火线~~)
CloudFlare是一家提供云计算服务的公司,其主要业务是提供网站加速、安全防护、DNS解析等服务。通过将网站的内容缓存到全球各地的服务器上,CloudFlare可以加速网站的访问速度,同时还可以提供DDoS攻击防护、SSL证书管理、防火墙等安全服务。CloudFlare的DNS解析服务可以帮助网站管理员更方便地管理域名解析,同时还可以提供一些高级功能,例如负载均衡、智能路由等。总之,CloudFlare是一家提供全方位云计算服务的公司,可以帮助网站提高性能、安全性和可靠性。
我们在项目中使用的就是他的路由和负载功能
3.实现思路

4.开始操作
4.1 域名注册
推荐使用GNAME、GoDady进行域名注册
以下案例以GNAME实现思路实现:
4.1.1 进入官网注册账号,有账号直接登录
GAME域名注册官网-点击这里

4.1.2 域名注册
在输入框中输入想要的域名进行购买,推荐top年费不到5刀,续费同价

然后加购进行购买可以使用AliPay支付。
注意:
1.GNAME支付后会将资金冻结,需要添加两个方式以上的账号安全认证才能解冻继续支付
2.建议添加谷歌邮箱和国内手机号码验证
4.1.3 够买成功后在管理中心可以看到购买域名

4.2 CloudFlare注册以及配置
4.2.1 注册账号
CloudFlare官网-点击进入
CloudFlare官网注册地址-点击进入
进入后右上角进行注册登录

4.2.2 添加站点
在输入框里输入刚刚注册的域名,然后添加站点

4.2.3 收费模式选择免费
免费计划:每天提供10万次转发、负载请求次数,对于我们开发一个小型场景也够了,如果你的大型网站那建议使用VPS或者自行搭建反向代理服务可以减少支出达到更好的效果。

4.2.4 跳过添加DNS记录
直接点击继续

下一步弹窗点击确定即可:

4.2.5 更改申请域名的DNS服务名称地址
继续上一步后,界面中级工会告诉你删除哪些原有的dns规则,然后添加由cloudFlare提供的dns地址

注册域名后可以通过whois确定域名代理机构,GNAME就是专业域名注册机构所以GNAME有管理工具
回到GNAME官网,然后到“域名管理”
1. 先添加一个域名管理模板
因为gname需要模板实名来管理每一个dns地址

2. 修改DNS服务名

(1)首先将域名模板设置为刚刚你保存的域名模板

设置完成后刷新一下网页就ok
(2)点击修改DNS

选择自定义

然后将CloudFlare提供的两个DNS地址复制黏贴进来即可


确定之后稍等片刻,刷新网页DNS域名变为绿色代表成功
4.2.6 回到CloudFlare继续检查监测域名与DNS服务是否修改

这个操作可能需要5分钟~4小时不等,我的等待了30分钟,我们可以不用理会继续往下执行,写好代码也差不多了,但是官方的解答是根据服务运行并发情况而定,因为本身CloudFlare也是一个域名解析站点所以吞吐较大

站点网页出现这个窗体代表站点DNS已经完成解析,但是我在开发时发现没有出现此提示我的转发服务依旧可以使用,ping 域名也能发现dns已经发生了改变所以可能是网站的状态更新延迟,根据实际调用结果而定。
4.2.7 创建openAI代理转发Worker
worker的功能就是以代码的方式实现转发或负载
1. 创建worker

生成的代码和三级域名不理会直接保存(Deploy)

2.修改代码
保存好Worker后在管理界面点击“快速编辑”

此时会进入一个浏览器在线调试编译工具
注意:编译工具请求次数会非常多,页面的每次改变都会触发1~25个请求不等(我测试出来的不知道大家的如何),所以按照我的方法赋值黏贴好即可
如果进入后出现白屏情况换Edge浏览器,因为里面有微软的在线编译工具插件

进入后将以下代码复制进入左侧代码窗体:
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;
}
保存完成后点击保存并部署

3. 设置你的域名映射到当前添加的Worker
进入当前Worker的触发器,点击添加自定义域

输入你的域名后保存,等待10分钟左右直到证书标识生效功能就完成了
5. 测试验证
比如我们请求openai官方的获取模型列表的api接口:
原地址:https://platform.openaiapi.com/v1/models
通过CloudFlare转发的地址:(将openai的转为你的地址)
https://你的域名/v1/models
测试结果:

6. 总结
到这里,我们就完成了在国内就可以访问openai的接口了,我们不需要花大力气去做VPS,在Python和java中调用只要使用OKHttps类库之类的就可以正常访问了
希望本文对大家有帮助,点赞、收藏、加关注哟老板们~~~~
相关文章:
【GPT科技系列】国内开发者调用openAI-API科技方法
1. 前言 openAI上线7个月了,但是随着openAI的约束越来越多,国内开发者想要使用openai的接口实现开发简直就是难上加难。那真的就没有办法了吗?no no no,CF解决一切不开心~ 2.准备工作 我们需要一个国际域名 注册cloudflare账号 …...
基于QGIS的长株潭城市群边界范围融合实战
背景 在面向区域的研究过程中,比如一些研究区域,如果是具体的行政区划,比如具体的某省或者某市或者县,可以直接从国家官方的地理数据中直接下载就可以。但如果并没有直接的空间数据那怎么办呢?比如之前遇到的一个场景&…...
【MySQL联合查询】轻松实现数据关联
1、联合查询 联合查询又称为多表查询,它的基本执行过程就是笛卡尔积 1.1 认识笛卡尔积 那么什么是笛卡尔积呢? 答:笛卡尔积就是将两张表放在一起进行计算,把第一张表的每一行分别取出来和第二张表的每一行进行连接,得到…...
Windows安装Ubuntu双系统
Windows安装Ubuntu双系统 1.下载Ubuntu 16.04,地址https://releases.ubuntu.com/16.04/ 2.下载Rufus,地址https://rufus.ie/zh/ 3.准备U盘,烧录系统 4.磁盘分区 5.重启,按住shift键 本人电脑是联想小新 Windows11系统࿰…...
【大数据之Hadoop】三十四、Hadoop综合调优之小文件优化方法
1 Hadoop小文件弊端 HDFS上每个文件都要在NameNode上创建对应的元数据,这个元数据的大小约为150byte,这样当小文件比较多的时候,就会产生很多的元数据文件,一方面会大量占用NameNode的内存空间,另一方面就是元数据文件…...
周赛 Round#3 题解
又不能放图片,又不能写学校,你让我怎么办啊!! 系列文章目录 1.周赛 Round#1 2.周赛 Round#2 前言 这是周赛第三轮。//涉及隐私原因,博文里不放题目,要看的去http://0241:101:610:801.22222 划分字符串贪…...
详解HTTPS加密过程
目录 前言 HTTPS是什么 HTTPS的工作过程 引入对称加密 引入非对称加密 引入证书 总结 前言 对于HTTP上篇文章已经做了详细的解释了。众所周知,HTTPS要比HTTP要安全,但是为什么HTTPS要比HTTP安全呢? 这篇文章主要研究HTTPS的加密机制…...
聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备
今日要闻:ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备;索尼正开发小尺寸折叠屏手机;万达辟谣大规模裁员;智能仿生手让截肢者重获手心的温度 ChatGPT登顶美区iOS免费榜 ChatGPT 在 iOS 美区免费 App 排行榜上位列…...
position:sticky-粘性吸附布局
一、描述 就是在一个滚动的容器里,将一个子元素设置为postion:sticky 在元素显示在可视区域内,显示的效果与position:relative 一致,当元素被滑动出可视区域外是,显示效果与position:fixed一致 二、注意事项 1、父元素需要存在滚动(overflow:auto&…...
【MySQL】-【数据库的设计规范】
文章目录 为什么需要数据库设计范式范式简介范式都包括哪些键和相关属性的概念第一范式(1st NF)第二范式(2nd NF)第三范式(3rd NF) 反范式化概述应用举例反范式化的新问题反范式的适用场景 BCNF(巴斯范式)案例案例一案例二 第四范式案例案例一案例二 第五范式、域键范式范式的实…...
全面解析缓存应用经典问题
1、前言 随着互联网从简单的单向浏览请求,发展为基于用户个性信息的定制化以及社交化的请求,这要求产品需要做到以用户和关系为基础,对海量数据进行分析和计算。对于后端服务来说,意味着用户的每次请求都需要查询用户的个人信息和…...
Java版本企业电子招采系统源码——信息数智化招采系统
信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stre…...
Rust每日一练(Leetday0005) 罗马数字、公共前缀、三数之和
目录 13. 罗马数字转整数 Roman to Integer 🌟 14. 最长公共前缀 Longest Common Prefix 🌟 15. 三数之和 3Sum 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日…...
【告别校园,迎接未来】
作为一个曾经的大学生,我的四年大学时光充满了起伏和挑战。回顾这段时光,我深刻认识到了自己的不足,同时也感悟了一些珍贵的人生经验和收获。 我是一个比较内向的人,进入大学后感觉有些孤独,难以适应新的环境和生活方…...
SaaS系统用户权限设计
SaaS系统用户权限设计 学习目标: 理解RBAC模型的基本概念及设计思路 了解SAAS-HRM中权限控制的需求及表结构分析完成组织机构的基本CRUD操作 完成用户管理的基本CRUD操作完成角色管理的基本CRUD操作 组织机构管理 需求分析 需求分析 实现企业组织结构管理࿰…...
我们为什么还要学习Altium Designer?
Altium Designe(简称“AD”)是电子设计领域中备受推崇的软件工具之一,拥有强大的功能和灵活的设计环境,也是要用最广泛的EDA工具之一,为电子工程师提供了无限可能,但很多工程师学完AD基本操作就转投其他EDA…...
Q1业绩整体回暖,影视行业找到增长新路径
凛冬已过,影视行业恢复了生机。 数据显示,今年一季度,影视院线板块全部上市公司分别实现营收、归母净利111.86亿元、10.15亿元,同比增幅为1.44%和53.76%。在经济复苏的背景下,影视行业实现了扭亏为盈和跨越式增长。 …...
Zabbix
概述 作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器…...
OpenHarmony支持HDMI接口声卡适配说明
高清多媒体接口(High Definition Multimedia Interface,HDMI )是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号。HDMI可用于机顶盒、DVD播放机、个人计算机、电视、游戏主机、综合扩大机、数字音响与电视机等设…...
AtCoder Beginner Contest 300G - P-smooth number解题报告
AtCoder Beginner Contest 300G - P-smooth number解题报告 1 题目链接 传送门 2 题目大意 题目:P-光滑数的数量 题目大意: 在 1 1 1 到 n n n 中,有多少个数的所有质因数均不超过 p ( p ≤ 100 ) p\ (p\leq100) p (p≤100)。 3 解…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
