php curl cloudflare,通过PHP / Curl返回错误使用CloudFlare API

我正在通过PHP脚本更新我的DNS.我查看了与cURL相关的API文档,所以我试图将cURL帖子转换为PHP.

我有以下代码:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.cloudflare.com/client/v4/zones//dns_records/");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_VERBOSE, 1);

curl_setopt($ch, 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
";

$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,CURLOPT_HTTPHEADER, ['HeaderName: HeaderValue','HeaderName2: HeaderValue2']);

编辑

为了更清楚:

$headers = [

'X-Auth-Email: someone@mydomain.com',

'X-Auth-Key: MY_KEY',

'Content-Type: application/json'

];

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

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

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

标签:cloudflare,php,curl

来源: https://codeday.me/bug/20190727/1556936.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值