小编Lee*_*sen的帖子

cloudflare api将curl转换为php curl并发送CNAME更新

经过大量研究,使用了来自stackoverflow上其他响应的一些信息,这是一个问答。

如何将命令行curl转换为php:

$ curl -X POST "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records" \
-H "X-Auth-Email: user@example.com" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json" \
--data '{"type":"A","name":"example.com","content":"127.0.0.1","ttl":120}'
Run Code Online (Sandbox Code Playgroud)

上面的curl是cloudflare的api手册中有关如何添加A记录的示例。我需要添加许多CNAMES或子域。Cloudflare没有说明如何修改以上代码以创建CNAMES。因此,我将首先解决该问题:

$ curl -X POST "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records" \
-H "X-Auth-Email: user@example.com" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json" \
--data '{"type":"CNAME","name":"subdomain.example.com","content":"example.com","ttl":120}'
Run Code Online (Sandbox Code Playgroud)

首先,我将“类型”字段更改为“ CNAME”。接下来的“名称”字段是放置子域/ CNAME的位置,或者在我的情况下,是来自foreach的结果变量。最后,在“内容”字段下放置新CNAME指向的域。

这在PHP中看起来像什么:

$ch = curl_init();
$headers = array(
                 'X-Auth-Email: user@example.com',
                 'X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41',
                 'Content-Type: application/json',
                  );
$data = array(
              'type' => 'CNAME',
              'name' => 'subdomain.example.com',
              'content' => 'example.com',
              'ttl' => '120',
               );
$json = json_encode($data);
curl_setopt($ch, …
Run Code Online (Sandbox Code Playgroud)

php json curl cname cloudflare

5
推荐指数
1
解决办法
1503
查看次数

标签 统计

cloudflare ×1

cname ×1

curl ×1

json ×1

php ×1