[点晴永久免费OA]【.net】C#程序将本地动态公网IP实时更新到Cloudflare的DNS绑定的IP记录中
|
admin
2026年6月5日 15:27
本文热度 31
|
直接调用 Cloudflare API(HTTP 请求)
步骤:
- 获取 API 令牌
在 Cloudflare 控制面板创建 API Token,需具备 Zone:DNS:Edit 权限。 - 查询当前 DNS 记录 ID
先通过 API 获取域名 oa22.cn 的现有记录 ID(需 zone_id 和 record_id)。 更新 IP
发送 PATCH 请求修改记录。
以上获取API Token、zone_id 和 record_id的方法参见下面教程。
C# 示例代码:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class CloudflareDDNS {
static async Task Main(string[] args) {
string apiToken = "YOUR_API_TOKEN";
string zoneId = "YOUR_ZONE_ID";
string recordId = "DNS_RECORD_ID";
string domain = "oa22.cn"; // 替换为你的域名
string newIp = await GetPublicIpAsync(); // 获取当前公网IP
using (HttpClient client = new HttpClient()) {
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiToken}");
// 更新DNS记录
var content = new StringContent(
$"{{\"type\":\"A\",\"name\":\"{domain}\",\"content\":\"{newIp}\",\"ttl\":120}}",
Encoding.UTF8,
"application/json"
);
var response = await client.PatchAsync(
$"https://api.cloudflare.com/client/v4/zones/{zoneId}/dns_records/{recordId}",
content
);
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}
static async Task<string> GetPublicIpAsync() {
using (HttpClient client = new HttpClient()) {
return await client.GetStringAsync("https://api.ipify.org");
}
}
}
相关教程:
群晖NAS机设置任务计划通过API更新Cloudflare DDNS动态IP域名解析[
11]
http://39204.oa22.cn
如何将本地动态公网IP实时更新到Cloudflare的DNS绑定的IP记录中?[
6]
http://39207.oa22.cn
该文章在 2026/6/5 16:06:11 编辑过