php发送curlpost get发送头信息 不接受参数不返回头信息/**
* 发送接口请求
* @param string $url
* @param array $params
* @param string $type
* @return boolean|mixed
*/
public function send_request($url, $params=array(), $type='get',$header=array(),$timeout=10){
$type = strtolower($type);
$header = $this->_send_header($header); //处理头部信息
$curl = curl_init();
if($type == 'get'){
if(substr($url, -1) !== "?"){
$url .= "?";
}
$param_str = '';
if(!empty($params) && is_array($params)){
foreach ($params as $param_key=>$param_value){
$param_str .= "&".$param_key."=".$param_value;
}
}
$url .= $param_str;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$return_data = curl_exec($curl);
}else{
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
$return_data = curl_exec($curl);
}
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($curl, CURLINFO_CONTENT_TYPE);
curl_close($curl);
if(intval($code) >= 400){
//处理错误的http状态
//
return false;
}
$obj = @json_decode($return_data);
if(!$obj || !isset($obj->ret)){
//返回内容错误,记录日志
//
return false;
}
return $obj;
}
/**
* 处理头部信息
* @param array $headers
* @return multitype:string
*/
private function _send_header($header){
if(empty($header)){
return array();
}
$_header = array();
foreach($header as $key=>$val){
$_header[] = $key.': '.$val;
}
return $_header;
}