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;
    }


  • 相关阅读:
    Django 基础教程
    Python之路【第十七篇】:Django【进阶篇 】
    Python之路【第十六篇】:Django【基础篇】
    Python之路【第十五篇】:Web框架
    AngularJS 教程
    jQuery
    最小公倍数生成树
    51nod 1743 雪之国度
    codeforces 633F The Chocolate Spree
    hihocoder 1246 王胖浩与环
  • 原文地址:https://www.cnblogs.com/yangjiayu/p/11157506.html
Copyright © 2011-2022 走看看