CURL操作方法哪里写的不对?

有时需要考虑不需要提交数据 只是请求数据 所以我发送时数据时做了判断 可是给我这个方法传值时却不行 当有data数据时这样$this->curl($url,$data)可以获取到数据 当不需要提交数据 只是获取数据时$this->curl($url,0)这样写就获取不到数据 这是为什么?

public function curl($url,$data){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        if(!$data==0){
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            $output = curl_exec($ch);
            if (curl_errno($ch)) {
                echo 'Errno'.curl_error($ch);
            }
            curl_close($ch);
            var_dump($output);
        }else{
            $output = curl_exec($ch);
            curl_close($ch);
            $con = json_decode($output, true);
            return $con;
        }
    }
阅读 2.8k
3 个回答

试了半天还是不行

两个请求都是POST方式吗?不能的那个把报错给打出来看看

从你的代码来看,我不清楚你的上下文哦。
1,当!$data==0时是用var_dump,这个当然有数据;
2,当$data==0时却是return;这个你是如何调用的呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题