/**
* @param $method //请求接口名
* @param $array //带过去参数
* @return array ['status'] 状态1成功 状态2失败
* @return array ['msg'] 消息
* @return array ['data'] 返回数据
*/
function TdHttpsPost($method, $array = [])
{
$td_info = C('APP');
$data['secretKey'] = $td_info['TD_KEY'];//秘钥
$data['serverId'] = $td_info['TD_SERVER'];//服务器id
$data['module'] = $td_info['TD_MODULE'];//模型
$data['method'] = $method;//模型
$data['param[0]'] = json_encode($array); //带参
$ch = curl_init();
// 设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, $td_info['TD_URL']);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 对证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($ch, CURLOPT_POST, 1); // 发送一个 常规的Post请求
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); // Post提交的数据包
curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 设置超时限制防止死循环
curl_setopt($ch, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //获取的信息以文件流的形式返回
$result = curl_exec($ch); // 执行操作
//通信失败 写日志
if (curl_errno($ch)) {
curl_close($ch); // 关闭CURL
TdHttpLogsRecord($method, '与TD通信失败' . $return['msg'], 2, $result);
return [
'status' => 2,
'msg' => 'Error:' . curl_error($ch), //抓捕异常
];
}
curl_close($ch); // 关闭CURL
$info = json_decode($result, true);
//服务器返回异常消息 写日志
if ($info['errorCode'] != 0) {
TdHttpLogsRecord($method, '通知服务器返回消息异常', 3, $result);
return [
'data' => $info,
'status' => 2,
'msg' => '通信正常,返回消息异常'
];
}
//通信正常 写日志
TdHttpLogsRecord($method, '更新缓存,通知服务器成功', 1, $result);
return [
'data' => $info,
'status' => 1,
'msg' => '成功'
];
}
PHP CURL
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 0. curl是个什么东西 PHP supports libcurl, a library created by ...
- 在PHP中使用CURL,“撩”服务器只需几行——php curl详细解析和常见大坑 七夕啦,作为开发,妹子没得撩就...
- //curl访问//需要url或者data//返回的数组是JSON数据形式function ppd_curl($u...