<?php
/**
* 获取 access_tonken值
* @param string $token_file 用来存储的文件
* @return access_token
*/
function getAccessToken($token_file = 'access_token_file') {
//处理是否过期问题,将access_token存储到文件
$life_time = 7200;
if (file_exists($token_file) && time() - filemtime($token_file) < $life_time) {
// 存在有效的access_token 直接返回文件内容
return file_get_contents($token_file);
}
//接口URL
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->_appid."&secret=".$this->_appsecret;
//发送GET请求
$result = _request('get', $url);
if (!$result) {
return false;
}
//处理数据
$result_obj = json_decode($result);
//写入到文件
file_put_contents($token_file, $result_obj->access_token);
return $result_obj->access_token;
}
function _request($method = 'get', $url, $data = array(), $ssl = true) {
//curl完成,先开启curl模块
//初始化一个curl资源
$curl = curl_init();
//设置curl选项
curl_setopt($curl, CURLOPT_URL, $url); //url
//请求的代理信息
$user_agent = isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 FirePHP/0.7.4';
curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);
//referer头,请求来源
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30); //设置超时时间
//SSL相关
if ($ssl) {
//禁用后,curl将终止从服务端进行验证;
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//检查服务器SSL证书是否存在一个公用名
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
}
//判断请求方式post还是get
if (strtolower($method) == 'post') {
/**************处理post相关选项******************/
//是否为post请求 ,处理请求数据
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
//是否处理响应头
curl_setopt($curl, CURLOPT_HEADER, false);
//是否返回响应结果
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//发出请求
$response = curl_exec($curl);
if (false === $response) {
echo '<br>',
curl_error($curl),
'<br>';
return false;
}
//关闭curl
curl_close($curl);
return $response;
}
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


