php post 不允许后退,php发送curlpost get发送头信息 不接受参数不返回头信息

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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值