BaseTool.php 4.31 KiB
<?php
namespace QingrongBase\Tool;
use GuzzleHttp\Client;
/**
 * 上传工具类
 * Class UploadTool
 * @package Tool
class BaseTool
    /**
     * @var int 超时时间
    static $timeOut = 180;
    /**
     * @var int 连接超时时间
    static $connectTimeOut = 10;
    /**
     * get请求
     * @param $url
     * @param $params
     * @return mixed
     * @throws \GuzzleHttp\Exception\GuzzleException
    public static function getCurl($url,$params=[])
        return self::sendRequest($url, 'GET', $params);
    /**
     * get请求原始数据返回
     * @param $url
     * @param $params
     * @return mixed
     * @throws \GuzzleHttp\Exception\GuzzleException
    public static function getCurlOrigin($url,$params=[])
        //判断是否存在trace-id
        if (isset($_GET["trace-id"])){
            $traceId = $_GET["trace-id"];
        }else{
            $traceId = md5(uniqid().time());
        $params['headers']["trace-id"] = $traceId;
        return self::sendRequest($url, 'GET', $params,false);
    /**
     * post请求
     * @param $url
     * @param $options
     * @param $isJson
     * @return mixed
     * @throws \GuzzleHttp\Exception\GuzzleException
    public static function postCurl($url, $options,$isJson)
        if (isset($options['query'])) {
            if ($isJson) {
                $options['body'] = empty($options['query'])?"{}":json_encode($options['query'], JSON_UNESCAPED_UNICODE);
                isset($options['headers'])
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
? $options['headers']['Content-Type'] = 'application/json' : $options['headers'] = [ 'Content-Type' => 'application/json' ]; } else { $options['form_params'] = $options['query']; } unset($options['query']); } return self::sendRequest($url, 'POST', $options); } /** * post请求原始数据返回 * @param $url * @param $options * @param $isJson * @return mixed * @throws \GuzzleHttp\Exception\GuzzleException */ public static function postCurlOrigin($url, $options,$isJson) { if (isset($options['query'])) { if ($isJson) { $options['body'] = empty($options['query'])?"{}":json_encode($options['query'], JSON_UNESCAPED_UNICODE); isset($options['headers']) ? $options['headers']['Content-Type'] = 'application/json' : $options['headers'] = [ 'Content-Type' => 'application/json' ]; } else { $options['form_params'] = $options['query']; } unset($options['query']); } //判断是否存在trace-id if (isset($_GET["trace-id"])){ $traceId = $_GET["trace-id"]; }else{ $traceId = md5(uniqid().time()); } $options['headers']["trace-id"] = $traceId; return self::sendRequest($url, 'POST', $options,false); } /** * PUT请求 * @param $url * @param array $options * @return mixed|void */ public static function put($url, $options = []) { return self::sendRequest($url, 'PUT', $options); } public static function getOptions($params) { $baseOptions = [ 'connect_timeout' => self::$connectTimeOut, 'timeout' => self::$timeOut, 'verify' => false, 'debug' => false, ]; $options = array_merge($baseOptions, $params); return $options;