php 模拟请求类
<?php
/**
* fangdasheng
* http 模拟请求
*/
class Myhttp {
private $apiUrl;
// 构造函数
public function construct() {
}
// 静态获取
public static function getHttp($url, $params= [] , $method = 'POST', $header = array(), $multi = false){
$return = [
'code' => 400,
'msg' => '',
];
$opts = array(
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => $header
);
if (stripos($url, 'https://') !== false) {
$opts['CURLOPT_SSL_VERIFYPEER'] = false;
$opts['CURLOPT_SSL_VERIFYHOST'] = false;
}
switch(strtoupper($method)){
case 'GET':
$opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
break;
case 'POST':
$params = $multi ? $params : http_build_query($params);
$opts[CURLOPT_URL] = $url;
$opts[CURLOPT_POST] = true;
$opts[CURLOPT_POSTFIELDS] = $params;
break;
default:
$return['msg'] = '不支持的请求方式';
return $return;
// \Exception('不支持的请求方式!');
}
$ch = curl_init();
curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if($error) {
$return['msg'] = '请求失败';
return $return;
} else {
$return['code'] = 200;
$re = json_decode($result, true);
if(empty($re)) {
return array_merge([], $return);
} else {
return array_merge($result, $return);
}
}
}
}