curl url php post method strange json results



我正在尝试将关键字发布到url,然后返回json结果。这是我的 php 代码:

$url = 'http://www.hiddendomain.com/tld';
$fields = array( 'keyword' => urlencode('referralcode') );
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
$test = json_decode($result);
//close connection
curl_close($ch);

据我所知,预期结果应该返回 json 编码数据。但是当我尝试解码它时,我只得到一个值 1,而不是实际数据。

这是我得到的实际回复

 [{"domain":"referralcode.com","status":"taken","tld":"com","url":"http://referralcode.com"},{"domain":"referralcode.co.uk","status":"taken","tld":"co.uk","url":"http://referralcode.co.uk"},{"domain":"referralcode.net","status":"taken","tld":"net","url":"http://referralcode.net"},{"domain":"referralcode.eu","status":"available","tld":"eu","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.eu"},{"domain":"referralcode.org","status":"available","tld":"org","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.org"},{"domain":"referralcode.me","status":"available","tld":"me","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.me"},{"domain":"referralcode.us","status":"available","tld":"us","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.us"},{"domain":"referralcode.co","status":"taken","tld":"co","url":"http://referralcode.co"},{"domain":"referralcode.ca","status":"available","tld":"ca","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.ca"},{"domain":"referralcode.info","status":"available","tld":"info","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.info"},{"domain":"referralcode.de","status":"available","tld":"de","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.de"},{"domain":"referralcode.tv","status":"available","tld":"tv","url":"https://www.uniteddomains.com/domain/namecheck?et_cid=2u0026et_lid=2u0026domain=referralcode.tv"}]

我是否错过了有关 json 解码的正常过程的某些内容,或者这只是一个奇怪的结果?

设置:

 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

能解决问题。对此感到抱歉。

最新更新