-
wangbiaoyan authored17c1fd49
<?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;