From 8c9b74dc342617fa17a5ebeef158541a005bc674 Mon Sep 17 00:00:00 2001 From: Kengwang <1136772134@qq.com> Date: Sun, 12 Jul 2020 11:08:42 +0800 Subject: =?UTF-8?q?=E6=94=B9=E8=BF=9B=E7=95=AA=E5=89=A7=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 删去不必要的代码和注释 * 增加了报错信息 * 修改了说明文档链接 * 修复了特殊环境下cUrl的一个问题 * 修复了番剧图片不显示问题 (Fixed: #68) --- bangumi.php | 174 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 92 insertions(+), 82 deletions(-) diff --git a/bangumi.php b/bangumi.php index 00b356e..6c900b5 100755 --- a/bangumi.php +++ b/bangumi.php @@ -8,6 +8,9 @@ * @package custom */ +//错误提示信息 +$errormsg = ''; +$error = false; //判断是否为HTTPS function is_https() { @@ -26,48 +29,44 @@ $this->need('includes/head.php'); $this->need('includes/header.php'); -function curl($url, $cookie) -{ - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, $url); - //地址 - //curl_setopt ($curl, CURLOPT_COOKIEJAR, $cookiefile);//文件式 - //curl_setopt ($curl, CURLOPT_COOKIEFILE, $cookiefile); - curl_setopt($curl, CURLOPT_COOKIE, $cookie); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - $str = curl_exec($curl); - curl_close($curl); - return $str; -} - function getSubstr($str, $leftStr, $rightStr) { $left = strpos($str, $leftStr); - //echo '左边:'.$left; $right = strpos($str, $rightStr, $left); - //echo '
右边:'.$right; if ($left < 0 or $right < $left) return ''; return substr($str, $left + strlen($leftStr), $right - $left - strlen($leftStr)); } if ($this->fields->uid == !'' && $this->fields->sessdata == !'') { if (empty($_GET['page']) || $_GET['page'] == 0) $page = 1; else $page = $_GET['page']; - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, 'https://api.bilibili.com/x/space/bangumi/follow/list?type=1&follow_status=0&vmid=' . $this->fields->uid . '&ps=12&pn=' . $page); - curl_setopt($curl, CURLOPT_COOKIE, 'SESSDATA=' . $this->fields->sessdata . ';'); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - $str = curl_exec($curl); - curl_close($curl); - $bgmdataraw = json_decode($str, true); - $error = false; - if (!$bgmdataraw) $error = true; + + if (!function_exists('curl_init')) { + $errormsg .= '未检测到cUrl函数 '; + $error = true; + } else { + $curl = curl_init(); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//不验证HTTPS链接 (PHP7.1 添加支持) + curl_setopt($curl, CURLOPT_URL, 'https://api.bilibili.com/x/space/bangumi/follow/list?type=1&follow_status=0&vmid=' . $this->fields->uid . '&ps=12&pn=' . $page); + curl_setopt($curl, CURLOPT_COOKIE, 'SESSDATA=' . $this->fields->sessdata . ';'); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + $callback = curl_exec($curl); + if ($callback === false) { + $errormsg .= 'cUrl错误: ' . curl_error($curl) . ' (CODE: ' . curl_errno($curl) . ') '; + $error = true; + } + curl_close($curl); + $bgmdataraw = json_decode($callback, true); + if (!$bgmdataraw) { + $error = true; + $errormsg .= '番剧数据解析错误 '; + } + } + } else { $bgmdataraw = array(); $bgmlist = array(); } -//force https -$bangumi_cover = str_replace("http://", "https://", $bangumi['cover']); // Uncomment for debugging /* @@ -91,9 +90,14 @@ if ($_GET['dbg'] == 'rawlist') {
-
+ $bgmlist = $bgmdataraw['data']['list']; + foreach ($bgmlist as $bangumi) : + //force https + $bangumi_cover = str_replace("http://", "https://", $bangumi['cover']); + ?> +
-

+

-
-
+
-
-
进度:
- %">
+
+
进度:
+ + //番剧进度结束 + ?>
-
-

-

-
+
+

+

+

+ +

这个报错信息可能会对你有用:

+ +

- 12): ?> -
- - - - -
-
- + 12): ?> +
+ + + + +
+
+ need('includes/comments.php'); ?> -- cgit v1.2.3