zoukankan      html  css  js  c++  java
  • curl请求

    /**
     * @param string $url 请求地址
     * @param array|string $params 请求参数
     * @param string $method 请求方法
     * @param array $header 请求头
     * @param bool $multi post 数据是否进行url encode
     * @param bool $httpCode 是否返回http code
     * @return mixed
     * @throws Exception
     */
    function curlHttp($url, $params, $method = 'GET', $header = [], $multi = false, $httpCode = false)
    {
        $opts = [
            CURLOPT_TIMEOUT        => 10,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false, //不做证书校验,部署在linux环境下改为true
            CURLOPT_HTTPHEADER     => $header
        ];
    
        //根据请求类型设置特定参数
        switch(strtoupper($method)) {
            case 'GET':
                if(!empty($params)){
                    $url .= '?' . http_build_query($params);
                }
                $opts[CURLOPT_URL] = $url;
                break;
            case 'POST':  //判断是否传输文件
                $params = $multi ? $params : http_build_query($params);
                $opts[CURLOPT_URL] = $url;
                $opts[CURLOPT_POST] = 1;
                $opts[CURLOPT_POSTFIELDS] = $params;
                break;
            default:
                throw new Exception('不支持的请求方式!');
        }
        /* 初始化并执行curl请求 */
        $ch = curl_init();
    
        curl_setopt_array($ch, $opts);
    
        $data  = curl_exec($ch);
        $httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); //HTTPSTAT码
    
        if($errorCode = curl_errno($ch)){
            $data = json_encode(['code' => 1,'msg' => curl_error($ch)]);
        }
        curl_close($ch);
    
        if($httpCode){
            $result = [
                'data' => $data,
                'httpCode' => $httpStatus
            ];
            return $result;
        }
    
        return $data;
    }


  • 相关阅读:
    C# 执行bat文件 PHP
    windows服务操作 sc批处理 PHP
    HTML 彩虹 PHP
    C# 简易日志记录类 PHP
    C# 读写INI文件 PHP
    .NET Framework PHP
    序列号备忘 PHP
    获取浏览器版本信息
    数据库中Image字段存储读取数据
    [转]装机推荐 5000元铸造最强游戏平台
  • 原文地址:https://www.cnblogs.com/yangjiayu/p/11157506.html
Copyright © 2011-2022 走看看