Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。
详情去看facepay 项目
class Base
{
//protected $baseURL='http://150.1.1.75:8090/';
protected $baseURL='http://150.138.1.33:8050/';
protected $key='YG';
protected $secret='123456';
protected $signSecret = 'lbyg_domall';
protected function getJSON($url,$param){
try{
$param['ObKey'] = $this->key;
$param['ObSecret'] = $this->secret;
$sign=$this->createSign($param);
$param['Sign']=$sign;
$httpClient = new Client(['base_uri'=>$this->baseURL]);
$result=$httpClient->request('GET',$url,[
'query' => $param
])->getBody()->getContents();
$result=json_decode($result,true);
if(empty($result)||empty($result['State'])){
Log::error("数据中心接口{$url}调用未返回信息");
}
if($result['State']==-1){
Log::error("数据中心接口{$url}调用失败:".$result['Message'].',调用数据:'.\GuzzleHttp\json_encode($param));
}
return $result;
}catch (\Exception $e){
Log::error("数据中心接口{$url}调用异常:".$e->getMessage());
return null;
}
return null;
}
protected function postJSON($url='',$param=[]){
try{
$query['ObKey'] = $this->key;
$query['ObSecret'] = $this->secret;
if($param){
$param = json_encode($param);
$param = base64_encode($param);
}
$query['Sign']=$this->createSign($param);
$httpClient = new Client(['base_uri'=>$this->baseURL]);
$start=microtime(true);
$result=$httpClient->request('POST',$url,[
'query' => $query,
'body' => $param
])->getBody()->getContents();
$end = microtime(true);
$exeTime= round($end-$start,3);
Log::error("接口:$url,执行时间:$exeTime");
$result=json_decode($result,true);
if(empty($result)||empty($result['State'])){
Log::error("数据中心接口{$url}调用未返回信息");
}
if($result['State']==-1){
Log::error("数据中心接口{$url}调用失败:".$result['Message'].',调用数据:'.\GuzzleHttp\json_encode($param));
}
return $result;
}catch (\Exception $e){
Log::error('数据中心接口调用异常:'.$e->getMessage());
return null;
}
return null;
}
}