我正在尝试访问json产品响应并希望在页面上呈现它。 当我点击网址
http://api-product.skimlinks.com/query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json
它返回具有以下结构的响应。
-ProductsAPI{
status: 200,
products: [
- {
merchant: "Newegg",
id:"111",
......
......
要在codeigniter上运行它,在'Spark'的帮助下安装rest_client。它安装正确,运行正常
的问题:
但是如何获得上面给出的URL的请求?代码是
function index() {
$this->load->spark('restclient/2.1.0');
$this->rest->initialize(array('server' => 'http://api-product.skimlinks.com/query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json'));
$this->rest->option(CURLOPT_SSL_VERIFYPEER, FALSE);
$data['products'] = $this->rest->get();
$this->load->view('index',$data);
}
不确定放入$this->rest->get()
方法的内容是什么?密钥和格式?
答案 0 :(得分:2)
github自述文件似乎需要拆分服务器和请求
server = http://api-product.skimlinks.com/
request = query?q =商家%3A(亚马逊%20OR%20Newegg)& key = hide& format = json
所以你的代码应该更像:
function index() {
$this->load->spark('restclient/2.1.0');
$this->rest->initialize(array('server' => 'http://api-product.skimlinks.com/'));
$this->rest->option(CURLOPT_SSL_VERIFYPEER, FALSE);
$data['products'] = $this->rest->get('query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json');
$this->load->view('index',$data);
}
但我不确定网址格式是否有效(例如网址编码的GET参数),但它可能!如果请求字符串不起作用,请尝试取消它。此外,根据API,请求的“查询”部分可能被视为服务器的一部分。