加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

通过PHP / Curl返回错误使用CloudFlare API

发布时间:2020-12-13 21:54:56 所属栏目:PHP教程 来源:网络整理
导读:我正在通过 PHP脚本更新我的DNS.我查看了与cURL相关的API文档,所以我试图将cURL帖子转换为PHP. 我有以下代码: $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,"https://api.cloudflare.com/client/v4/zones/MY_ZONE/dns_records/MY_ID"); curl_setopt($ch
我正在通过 PHP脚本更新我的DNS.我查看了与cURL相关的API文档,所以我试图将cURL帖子转换为PHP.

我有以下代码:

$ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,"https://api.cloudflare.com/client/v4/zones/<MY_ZONE>/dns_records/<MY_ID>");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_VERBOSE,CURLOPT_CUSTOMREQUEST,"PUT");

    $fields = array();
    $fields["X-Auth-Email"] = "someone@mydomain.com";
    $fields["X-Auth-Key"] = "MY_KEY";
    $fields["Content-Type"] = "application/json";
    curl_setopt($ch,CURLOPT_HTTPHEADER,$fields);

    $dnsData = array();
    $dnsData["id"] = "MY_ID";
    $dnsData["type"] = "A";
    $dnsData["name"] = "home";
    $dnsData["content"] = $newIPAddress;

    curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($dnsData));


    echo "posting to API<br />";
    $result = curl_exec($ch);
    echo "Result: " . $result;

通过上面的代码,我收到了来自Cloudflare的以下回复.

{“success”:false,”errors”:[{“code”:6003,”message”:”Invalid request
headers”,”error_chain”:[{“code”:6100,”message”:”Missing X-Auth-Email
header”},{“code”:6101,”message”:”Missing X-Auth-Key
header”},{“code”:6105,”message”:”Invalid Content-Type header,valid
values are
application/json,multipart/form-data”}]}],”messages”:[],”result”:null}

我已经尝试将json_encode更改为http_build_query,但两者都返回相同的错误.

解决方法

我认为你是在滥用curl_setopt.

这是设置多个标头的正确方法:

curl_setopt($ch,['HeaderName: HeaderValue','HeaderName2: HeaderValue2']);

编辑

为了更清楚:

$headers = [ 
    'X-Auth-Email: someone@mydomain.com','X-Auth-Key: MY_KEY','Content-Type: application/json'
];

curl_setopt($ch,$headers);

标题不是键/值对,而只是值.

此外,您应该使用http_build_query()发送POST数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读