【发布时间】:2011-02-16 05:25:04
【问题描述】:
希望是一个简单的问题,我尝试使用 PHP 和 cURL 连接到我的第一个 REST API。我的代码如下:
<?php
$zooplaKey = "mykey";
$postcode = $_GET['postcode'];
$sendData = array('api_key' => $zooplaKey,
'postcode' => $postcode,
'output_type' => "postcode");
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, 'http://api.zoopla.co.uk/api/v1/average_area_sold_price.js');
curl_setopt($curl, CURLOPT_POSTFIELDS, $sendData);
//curl_setopt($curl, CURLOPT_POST, true);
//curl_setopt($curl, CURLOPT_HTTPGET, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$raw_json = curl_exec($curl);
curl_close($curl);
$zooplaInfo = json_decode($raw_json, true);
echo "<pre>";
print_r($zooplaInfo);
echo "</pre>";
?>
完全按照上面的方式运行,我得到的回报是:
数组
(
[error_string] => 使用了无效的 HTTP 方法
[错误代码] => 2
)
取消注释 //curl_setopt($curl, CURLOPT_POST, true); 或 //curl_setopt($curl, CURLOPT_HTTPGET, true); 只会返回一个空白屏幕。
通过使用以下 URL,我可以获得有效结果(显然我不得不将 api 键设为空白,因此此链接仅用于结构目的)http://api.zoopla.co.uk/api/v1/average_area_sold_price.xml?api_key=mykey&postcode=ws12dn&output_type=postcode
谢谢大家。
【问题讨论】: