<?php
$json_url = 'https://api.feedbin.me/v2/entries.json';
$username = 'username'; // authentication
$password = 'password'; // authentication
$ch = curl_init( $json_url );
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => $username . ":" . $password // authentication
);
// Setting curl options
curl_setopt_array( $ch, $options );
$result = curl_exec($ch); // Getting JSON result string
$cache_feedbin = '/BLAH/'.sha1($result).'.json';
if(file_exists($cache_feedbin) && filemtime($cache_feedbin) > time() - 1000){
// if a cache file newer than 1000 seconds exist, use it
$data_feedbin = file_get_contents($cache_feedbin);
} else {
$data_feedbin = file_get_contents($result);
file_put_contents($cache_feedbin,json_encode($data_feedbin));
}
foreach (array_slice(json_decode($data_feedbin), 0, 5) as $obj) {
$feedbin_title = $obj->title;
$feedbin_url = $obj->url;
echo '<li><a href="', $feedbin_url, '">', $feedbin_title, '</a></li>';
}
?>
为什么我在本地缓存的json中得到“false”?是json_encode错了吗?
答案 0 :(得分:0)
尝试在curl选项中禁用证书验证:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
您可以查看以下内容检查卷曲错误的具体信息:
curl_error($ch)
...可能会报告证书验证问题。