From 6a4de7e2b66a55a4011e7ef75c8f7b369b43fdbf Mon Sep 17 00:00:00 2001 From: pf7lbvaho <1851784367@qq.com> Date: Sun, 29 Dec 2024 15:26:02 +0800 Subject: [PATCH] Update curl.lib.php --- core/curl.lib.php | 277 ++++++++++++++++++++++------------------------ 1 file changed, 134 insertions(+), 143 deletions(-) diff --git a/core/curl.lib.php b/core/curl.lib.php index b1d97dd..7e69355 100644 --- a/core/curl.lib.php +++ b/core/curl.lib.php @@ -1,228 +1,219 @@ $val) { - if($is_urlcode){ + foreach ($query as $key => $val) { + if ($is_urlcode) { $encode_key = urlencode($key); - }else{ + } else { $encode_key = $key; } - if ($encode_key != $key) { - unset($query[$key]); + if ($encode_key != $key) { + unset($query[$key]); } - if($is_urlcode){ + if ($is_urlcode) { $query[$encode_key] = urlencode($val); - }else{ + } else { $query[$encode_key] = $val; } - } + } } - // 设置CURL选项,指定请求的URL - curl_setopt(self::$_ch, CURLOPT_URL, $url); - // 设置CURL选项,启用返回传输 - curl_setopt(self::$_ch, CURLOPT_RETURNTRANSFER, 1); - // 设置CURL选项,不返回响应头 - curl_setopt(self::$_ch, CURLOPT_HEADER, 0); - // 设置CURL选项,启用POST请求 - curl_setopt(self::$_ch, CURLOPT_POST, true ); - // 设置CURL选项,指定POST请求的数据 - curl_setopt(self::$_ch, CURLOPT_POSTFIELDS, $query); - // 设置CURL选项,不验证SSL证书 - curl_setopt(self::$_ch, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt(self::$_ch, CURLOPT_SSL_VERIFYHOST, FALSE); - // 设置CURL选项,设置SSL版本 - curl_setopt(self::$_ch, CURLOPT_SSLVERSION, 1); - - // 执行CURL请求并获取响应 - $ret = self::_execute(); - // 关闭CURL会话 - self::_close(); - return $ret; + // 设置CURL选项 + curl_setopt(self::$_ch, CURLOPT_URL, $url); + curl_setopt(self::$_ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt(self::$_ch, CURLOPT_HEADER, 0); + curl_setopt(self::$_ch, CURLOPT_POST, true); + curl_setopt(self::$_ch, CURLOPT_POSTFIELDS, $query); + // 禁用SSL证书验证 + curl_setopt(self::$_ch, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt(self::$_ch, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt(self::$_ch, CURLOPT_SSLVERSION, 1); + // 执行请求并返回结果 + $ret = self::_execute(); + self::_close(); + return $ret; } - - /** + /** * 发送PUT请求 - * 构建并发送一个HTTP PUT请求,并将响应返回。 - * @param string $url 请求的URL地址 - * @param array $query 请求参数数组 - * @return string 请求的响应内容 + * @param string $url 请求URL + * @param array $query 查询参数 + * @return mixed 请求结果 */ - private static function _put($url, $query = array()) { - // 设置CURL选项,指定请求方法为PUT - curl_setopt(self::$_ch, CURLOPT_CUSTOMREQUEST, 'PUT'); - + private static function _put($url, $query = array()) + { + curl_setopt(self::$_ch, CURLOPT_CUSTOMREQUEST, 'PUT'); return self::_httpPost($url, $query); - } + } /** * 发送DELETE请求 - * 构建并发送一个HTTP DELETE请求,并将响应返回。 - * @param string $url 请求的URL地址 - * @param array $query 请求参数数组 - * @return string 请求的响应内容 + * @param string $url 请求URL + * @param array $query 查询参数 + * @return mixed 请求结果 */ - private static function _delete($url, $query = array()) { - // 设置CURL选项,指定请求方法为DELETE - curl_setopt(self::$_ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); - + private static function _delete($url, $query = array()) + { + curl_setopt(self::$_ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); return self::_httpPost($url, $query); - } - + } /** * 发送HEAD请求 - * 构建并发送一个HTTP HEAD请求,并将响应返回。 - * @param string $url 请求的URL地址 - * @param array $query 请求参数数组 - * @return string 请求的响应内容 + * @param string $url 请求URL + * @param array $query 查询参数 + * @return mixed 请求结果 */ - private static function _head($url, $query = array()) { - // 设置CURL选项,指定请求方法为HEAD + private static function _head($url, $query = array()) + { curl_setopt(self::$_ch, CURLOPT_CUSTOMREQUEST, 'HEAD'); - return self::_httpPost($url, $query); - } - - private static function _execute() { + } + + /** + * 执行CURL请求 + * @return mixed 请求结果 + */ + private static function _execute() + { $response = curl_exec(self::$_ch); $errno = curl_errno(self::$_ch); - + // 如果发生错误,抛出异常 if ($errno > 0) { throw new \Exception(curl_error(self::$_ch), $errno); } - return $response; + return $response; } -} - // 执行CURL请求 - // 执行CURL会话 +} \ No newline at end of file