分享

cURL的用途及案例

 小马哥技术屋 2016-10-04
用途:
1、WebService数据接口资源:
2、动态获取接口数据,如天气,号码归属地等
3、FTP服务器里面的文件资源:上传下载
 4、其他资源:所有网络上的资源都可以用cURL访问和下载到。
5、网页爬虫

案例:
      网页爬虫:
           //$content = file_get_contents('http://www.baidu.com'); 抓取百度内容
          //$content = file('http://www.baidu.com');//将文件读入数组
         //$content = readfile('http://www.baidu.com');//读取文件
         //var_dump( $content );
效果图:

cURL做法:
 //初始化
    $objCurl = curl_init('http://www.baidu.com');
    //执行
    curl_exec($objCurl);
    //关闭
    curl_close($objCurl);

替换:
$content = curl_init();
    //设置访问的url
    curl_setopt($content, CURLOPT_URL, 'http://www.baidu.com');
    //执行完后不直接打印
    curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, true);
    $curlOut = curl_exec($objCurl);
    curl_close($objCurl);
    echo str_replace('百度', '硬汉', $curlOut);

Post提交:
    //POST方法提交数据
    $url = "http://localhost/php1512/yhkj_oa/test/curl/post.php";
    $post_data = array (
            "username" => "admin",
            "password" => "123456"
        );
   
    $objCurl = curl_init();
    curl_setopt($objCurl, CURLOPT_URL, $url);
    curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($objCurl, CURLOPT_POST, 1);//发送一个常规的POST请求
    curl_setopt($objCurl, CURLOPT_POSTFIELDS, $post_data);//POST提交的数据包
    curl_setopt($objCurl, CURLOPT_TIMEOUT, 30);//设置超时
    $output = curl_exec($objCurl);//执行并获取数据
    curl_close($objCurl);
    var_dump($output);

上传:
<?php
    $url = "http://localhost/php1512/yhkj_oa/test/curl/upload.php";
    $post_data = array (
        "foo" => "bar",
        // 要上传的本地文件地址
        "upload" => "@D:/test.txt"
    );
   
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    $output = curl_exec($ch);
    curl_close($ch);
    var_dump( $output) ;

?>




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约