【问题标题】:Using CURL to return JSON from API in PHP在 PHP 中使用 CURL 从 API 返回 JSON
【发布时间】:2018-02-01 04:48:03
【问题描述】:

如何使用给定的 CURL 方法GET 这个API 的内容?

curl -X GET --header 'Accept: application/json' 'https://api.rezdy.com/v1/products?limit=2&offset=0'

它应该给出一个响应

{
"requestStatus": {
    "success": false,
    "error": {
      "errorCode": "4",
      "errorMessage": "Missing API Key"
    }
  }
}

所有尝试使用渲染页面为空以及从 API 中提取数据的其他方法(例如 JS)都存在 CORS 问题。

【问题讨论】:

  • 您能展示您尝试使用的 PHP 代码吗?请注意,该请求的响应状态为 401 Unauthorised,因此您需要确保您使用的任何内容都可以报告不成功的请求

标签: php json curl get


【解决方案1】:

试试这个 PHP 代码:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.rezdy.com/v1/products?limit=2&offset=0");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");


$headers = array();
$headers[] = "Accept: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

输出:

{  
    "requestStatus":{  
        "success":false,
        "error":{  
            "errorCode":"4",
            "errorMessage":"Missing API Key"
        }
    }
}

【讨论】:

  • 太好了。如何将其输出到页面?我过去只是在$html[]="<span>$result</span>"; 中使用过一些东西
  • 您需要使用json_decode将JSON字符串转换为PHP,然后才能在您的页面中使用。
猜你喜欢
  • 2022-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
  • 2019-08-15
  • 1970-01-01
相关资源
最近更新 更多