我需要显示从API调用收到的JSON响应。但由于某些问题,它没有显示响应。服务器/ IP设置,API状态是API提供商的一切正常。所以现在,我无法弄清楚这个问题。
我按照以下方式处理PHP部分:
PHP
$url="https://api.domain.com/getdata.php?format=json&token=2455445444&type=ROWS";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$json = json_decode($output, true);
$resCode = $json['resCode'];
$resText = $json['resText'];
$rows = $json['data']['ROWS'];
if (count($rows) > 0) {
echo "<table border='1' width='50%' align='center'><thead><tr>
<th>Amount</th>
<th>Detail</th>
<th>Validity (days)</th>
<th>Talktime</th>
</tr></thead><tbody>";
foreach($rows as $key => $value)
{
echo " <tr><td>" .$value["column1"] . "</td> <td>" .$value["column2"] . "</td> <td>" .$value["column3"] . "</td> <td>" .$value["column4"] . "</td> </tr>";
}
echo "</tbody></table><br/>";
}
echo "Not available <br/> Try again!";
来自API的JSON响应
{
"data":{
"ROWS": [
{
"column1":"123",
"column2":"456",
"column3":"789",
"column4":"054"
},
{
"column1":"775",
"column2":"545",
"column3":"647",
"column4":"745"
},
{
"column1":"440",
"column2":"544",
"column3":"745",
"column4":"999"
}
]
},
"resCode":"200",
"resText":"SUCCESS"
}
获取输出:
Not available
Try again!
期待HTML中的输出
<table border="1" width="50%" align="center">
<thread>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
</tr>
</thread>
<tbody>
<tr>
<td>123</td>
<td>456</td>
<td>789</td>
<td>054</td>
</tr>
<tr>
<td>775</td>
<td>545</td>
<td>647</td>
<td>745</td>
</tr>
<tr>
<td>440</td>
<td>544</td>
<td>745</td>
<td>999</td>
</tr>
</tbody>
</table>
任何帮助将不胜感激!感谢。
答案 0 :(得分:0)
我使用curl_error($ch)
来了解curl是否有任何错误。它让我知道,由于API URL的SSL验证问题,我正面临这个问题。
因此,我从API网址中的s
中删除了https
。它有效!
我知道这是一个安全妥协!但引用网址是使用http,所以我也需要从api url中删除SSL验证。