发布时间:2026/8/25 8:50:21
内网也能调 Cloudflare API:cloudflare-typescript 代理配置与自定义 fetch 技巧清单 内网也能调 Cloudflare APIcloudflare-typescript 代理配置与自定义 fetch 技巧清单【免费下载链接】cloudflare-typescriptThe official TypeScript library for the Cloudflare API项目地址: https://gitcode.com/gh_mirrors/cl/cloudflare-typescript项目简介Cloudflare 官方 TypeScript SDKcloudflare-typescript是 Cloudflare 官方出品的 TypeScript/JavaScript SDKnpm 包名cloudflare让你用类型安全的方式调用 Cloudflare REST API——从 Zones、DNS、Workers 到 AI、KV、R2 等上百个资源全部内置自动分页、重试、超时和完整的请求/响应类型定义。如果你的运行环境在内网、无法直连api.cloudflare.com或者想用自己的网络层代理、Mock、埋点这篇文章给你一份可落地的代理配置与自定义 fetch 技巧清单。一键安装# 直接安装 SDK npm install cloudflare # 如需查看/修改源码可克隆仓库 git clone https://gitcode.com/gh_mirrors/cl/cloudflare-typescript拿到客户端只需两行核心逻辑见src/client.tsimport Cloudflare from cloudflare; const client new Cloudflare({ apiToken: process.env[CLOUDFLARE_API_TOKEN], // 默认读取该环境变量可省略 });技巧 1用 baseURL 把请求指到你的代理网关客户端构造函数支持baseURL选项默认值是https://api.cloudflare.com/client/v4见 src/client.ts 中ClientOptions.baseURL的定义。把它改成公司网关或本地 Mock 地址即可让所有请求走内网const client new Cloudflare({ apiToken: process.env[CLOUDFLARE_API_TOKEN], baseURL: http://gateway.intranet.com/cf-proxy/client/v4, });也可以不改代码直接用环境变量CLOUDFLARE_BASE_URL覆盖多环境切换非常方便。技巧 2三种运行时的代理配置方法官方推荐的做法是通过fetchOptions注入运行时的代理选项README 中 “Configuring proxies” 一节。不同运行时写法不同运行时关键做法要点Node.js用 undici 的ProxyAgent通过fetchOptions.dispatcher传入最常用支持 HTTP/HTTPS 代理Bun直接传fetchOptions.proxy字符串一个字段搞定DenoDeno.createHttpClient({ proxy })后放入fetchOptions.client需先创建 HTTP 客户端Node 示例内网代理场景最常用import * as undici from undici; const proxyAgent new undici.ProxyAgent(http://proxy.intranet:8888); const client new Cloudflare({ apiToken: process.env[CLOUDFLARE_API_TOKEN], fetchOptions: { dispatcher: proxyAgent, }, }); 小技巧fetchOptions是全局默认值单次请求还可以传独立的fetchOptions覆盖它方便对个别慢接口单独加参数。技巧 3自定义 fetch 的三种姿势SDK 默认使用全局fetch见src/internal/shims.ts的getDefaultFetch。想完全接管网络层有三种方式整体替换全局 fetchglobalThis.fetch myFetch适合老项目统一改造。构造时注入推荐import myFetch from my-fetch; const client new Cloudflare({ apiToken: process.env[CLOUDFLARE_API_TOKEN], fetch: myFetch, // 自定义 fetch 函数 });派生新客户端用client.withOptions({ fetch: myFetch })在不动原客户端的情况下换网络层一个项目里可以并存“直连”和“走代理”两个客户端实例。自定义 fetch 里还能顺手做请求埋点、Mock 测试、日志留痕——官方测试就是用注入的fetch来断言发出的 URL 和请求体参考tests/index.test.ts中的custom fetch用例。技巧 4内网弱网下的超时与重试调优内网链路长、不稳定两个参数直接调timeout单请求超时默认 1 分钟超时抛APIConnectionTimeoutErrormaxRetries默认自动重试 2 次指数退避对 408、409、429、5xx 和网络断连都生效。const client new Cloudflare({ apiToken: process.env[CLOUDFLARE_API_TOKEN], timeout: 20 * 1000, // 20 秒 maxRetries: 5, // 内网多给几次机会 });重试逻辑含Retry-After头解析位于src/client.ts的retryRequest方法行为透明可控。技巧 5开 debug 日志排查代理是否生效内网排障最快的方式是把日志开到debug能看到每个请求的 URL、响应状态与耗时const client new Cloudflare({ logLevel: debug, // 或设环境变量 CLOUDFLARE_LOGdebug });日志格式与工具在src/internal/utils/log.ts还可传入 pino、winston 等第三方 logger 接管输出。环境变量速查清单环境变量作用CLOUDFLARE_API_TOKENAPI Token 认证推荐CLOUDFLARE_API_KEY/CLOUDFLARE_EMAIL旧版 Global Key 认证CLOUDFLARE_BASE_URL覆盖默认 API 地址指向代理网关CLOUDFLARE_LOG日志级别debug/info/warn/error/offCLOUDFLARE_CUSTOM_HEADERS按行注入自定义请求头如X-Proxy-Tag: internal总结想让所有请求走内网代理优先baseURL指向网关或按运行时用fetchOptions配代理Node 用 undiciProxyAgent想接管网络层埋点/Mock/测试构造时传fetch或用withOptions派生客户端弱网环境记得调大timeout和maxRetries并用logLevel: debug快速定位问题。掌握这份清单无论在公司内网还是边缘环境cloudflare-typescript 都能稳定连上 Cloudflare API。【免费下载链接】cloudflare-typescriptThe official TypeScript library for the Cloudflare API项目地址: https://gitcode.com/gh_mirrors/cl/cloudflare-typescript创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/25 8:50:21

异步复位同步释放:数字电路稳定启动的黄金法则

1. 项目概述:为什么我们需要“异步复位同步释放”?在数字电路设计,尤其是FPGA和ASIC开发中,复位信号的处理是确保系统稳定性的基石。一个不稳定的复位信号,轻则导致状态机跑飞、数据错乱,重则让整个系统陷入…

2026/8/25 11:15:57

LLM智能体在游戏中的竞争与合作:架构、策略与工程实践

1. 从“单打独斗”到“群雄逐鹿”:LLM智能体在游戏中的范式转变最近和几个做游戏AI的朋友聊天,大家不约而同地都在讨论一个话题:当大语言模型驱动的智能体不再是一个孤立的NPC,而是能成群结队、彼此互动时,游戏世界会发…

2026/8/25 11:10:57

TREX:基于Agent与树搜索的LLM自动化微调框架解析

1. 项目概述:当大模型微调遇上“自动化探索者”在当前的AI浪潮里,大语言模型(LLM)的微调几乎是每个希望将通用模型适配到特定业务场景的团队必经之路。然而,这个过程远非点几下鼠标那么简单。传统的微调流程&#xff0…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 1:12:32

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 0:04:14

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

2026/8/25 0:04:14

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…