curl通过get,post方式通过接口获取数据
taotaoit PHP 2022-04-01 1189 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

7441578 2655 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)
/**
 * 以get方式提交请求
 * @param $url
 * @return bool|mixed
 */
function ZHTHttpGet($url){
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
		curl_setopt($curl, CURLOPT_SSLVERSION, 1);
		curl_setopt($curl, CURLOPT_URL, $url);
		curl_setopt($curl, CURLOPT_TIMEOUT, 30);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		list($content, $status) = array(curl_exec($curl), curl_getinfo($curl), curl_close($curl));
		return (intval($status["http_code"]) === 200) ? $content : false;
}
/**
 * 以post方式提交请求
 * @param string $url
 * @param array|string $data
 * @return bool|mixed
 */
function ZHTHttpPost($url, $data){
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($curl, CURLOPT_HEADER, false);
		curl_setopt($curl, CURLOPT_POST, true);
		curl_setopt($curl, CURLOPT_POSTFIELDS, _buildPost($data));
		list($content, $status) = array(curl_exec($curl), curl_getinfo($curl), curl_close($curl));
		return (intval($status["http_code"]) === 200) ? $content : false;
}
/**
 * 使用证书,以post方式提交xml到对应的接口url
 * @param string $url POST提交的内容
 * @param array $data 请求的地址
 * @param string $ssl_cer 证书Cer路径 | 证书内容
 * @param string $ssl_key 证书Key路径 | 证书内容
 * @param int $second 设置请求超时时间
 * @return bool|mixed
 */
function ZHTHttpsPost($url, $data, $ssl_cer = null, $ssl_key = null, $second = 30)
{
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);
		curl_setopt($curl, CURLOPT_TIMEOUT, $second);
		curl_setopt($curl, CURLOPT_HEADER, false);
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
		if (!is_null($ssl_cer) && file_exists($ssl_cer) && is_file($ssl_cer)) {
				curl_setopt($curl, CURLOPT_SSLCERTTYPE, 'PEM');
				curl_setopt($curl, CURLOPT_SSLCERT, $ssl_cer);
		}
		if (!is_null($ssl_key) && file_exists($ssl_key) && is_file($ssl_key)) {
				curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
				curl_setopt($curl, CURLOPT_SSLKEY, $ssl_key);
		}
		curl_setopt($curl, CURLOPT_POST, true);
		curl_setopt($curl, CURLOPT_POSTFIELDS, _buildPost($data));
		list($content, $status) = array(curl_exec($curl), curl_getinfo($curl), curl_close($curl));
		return (intval($status["http_code"]) === 200) ? $content : false;
}

/**
 * POST数据过滤处理
 * @param array $data
 * @return array
 */
function _buildPost(&$data)
{
		if (is_array($data)) {
				foreach ($data as &$value) {
						if (is_string($value) && $value[0] === '@' && class_exists('CURLFile', false)) {
								$filename = realpath(trim($value, '@'));
								file_exists($filename) && $value = new CURLFile($filename);
						}
				}
		}
		return $data;
}

版权声明:本站原创文章,允许自由转载。

相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
PHP | 2019-04-30 6233
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。 <?php // 需开启配置 php_zip.dll // phpinfo(); header("Content-type:text/html;charset=utf-8"); /* * $filename 被解压文件名 * $path 解压...
openssl_private_decrypt解密失败
PHP | 2019-01-16 6012
复制别人的解密程序,原程序可以解密,复制过来就不可以 一步步尝试发现,秘钥换行符有区别, 原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论:0条
评论加载中...
发表评论