>  기사  >  백엔드 개발  >  PHP에서 CURL이란 무엇입니까? PHP의 CURL에 대한 코드 예

PHP에서 CURL이란 무엇입니까? PHP의 CURL에 대한 코드 예

不言
不言앞으로
2018-10-26 16:53:001937검색

이 글의 내용은 PHP에서 CURL이 무엇인지에 관한 것입니다. PHP의 CURL 코드 예제에는 특정 참조 값이 있습니다. 도움이 필요한 친구들이 참조할 수 있기를 바랍니다.

1. CURL이란

CURL은 다양한 프로토콜을 사용하여 다양한 서버와 연결하고 통신할 수 있게 해주는 강력한 라이브러리입니다. http, https, ftp, gopher, telnet, dict, 파일 및 ldap 프로토콜을 지원합니다. 또한 HTTPS 인증, HTTP POST, HTTP PUT, FTP 업로드(PHP의 FTP 확장을 통해서도 수행 가능), HTTP 양식 기반 업로드, 프록시, 쿠키 및 사용자 이름 + 비밀번호 인증을 지원합니다.

2. CURL을 사용하여 요청을 보내는 기본 프로세스

  1. curl_init() 연결 핸들을 초기화합니다.

  2. #🎜 🎜#
  3. curl_setopt() CURL 옵션 설정

  4. curl_exec() 요청을 실행합니다. #curl_close() VURL 연결 핸들을 해제합니다.

  5. 3. CURL을 사용하여 get/post 요청 보내기

    <?php
        /**
        *当$data为null时是get方式,否则为post方式
        */
         public function phpCurl($url, $data = null)
    	 {
    		$curl = curl_init();
    		curl_setopt($curl, CURLOPT_URL, $url);
    		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    		if (!empty($data)){
    			curl_setopt($curl, CURLOPT_POST, 1);
    			curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    		}
    		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    		$output = curl_exec($curl);
    		curl_close($curl);
    		return $output;
    	 }
    
    
        //get方式。注意:这里的$url已经包含参数了,不带参数你自己处理哦GET很简单
        function curl_get_https($url)
        {
            $curl = curl_init(); // 启动一个CURL会话
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_HEADER, 0);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
            $tmpInfo = curl_exec($curl);     //返回api的json对象
            //关闭URL请求
            curl_close($curl);
            return $tmpInfo;    //返回json对象
        }
    
        /* PHP CURL HTTPS POST */
        function curl_post_https($url,$data)
        { // 模拟提交数据函数
            $curl = curl_init(); // 启动一个CURL会话
            curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
            curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[&#39;HTTP_USER_AGENT&#39;]); // 模拟用户使用的浏览器
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
            curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
            curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
            curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
            curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
            $tmpInfo = curl_exec($curl); // 执行操作
            if (curl_errno($curl)) {
                echo &#39;Errno&#39;.curl_error($curl);//捕抓异常
            }
            curl_close($curl); // 关闭CURL会话
            return $tmpInfo; // 返回数据,json格式
        }
    
    
    ?>

위 내용은 PHP에서 CURL이란 무엇입니까? PHP의 CURL에 대한 코드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제