【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 解…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
