1. public static function request($url, $data=array()){
    2. $ch = curl_init();//初始化
    3. //curl_setopt();//设置
    4. //设置
    5. curl_setopt($ch,CURLOPT_URL,$url); //需要获取的 URL 地址
    6. curl_setopt($ch,CURLOPT_HEADER,0); //启用时会将头文件的信息作为数据流输出, 此处禁止输出头信息
    7. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //获取的信息以字符串返回,而不是直接输出
    8. curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30); //连接超时时间
    9. curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
    10. //避免https 的ssl验证
    11. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    12. curl_setopt($ch, CURLOPT_SSLVERSION, false);
    13. if($data){
    14. curl_setopt($ch, CURLOPT_POST, 1); //post请求
    15. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//post参数
    16. }
    17. //执行
    18. $data = curl_exec($ch);//执行 不输出 内容返回给它
    19. //判断是否请求成功
    20. if(curl_errno($ch)){//错误码
    21. echo 'curl error: '.curl_error($ch);//错误信息
    22. }
    23. $response = curl_getinfo($ch);
    24. switch($response['http_code']){
    25. case 200:
    26. return $data;
    27. break;
    28. default:
    29. exit('程序异常');
    30. }
    31. curl_close($ch);//关闭
    32. }

    有第二个参数为post请求,没有第二个参数则为get