PHP 理解和使用curl

来源:互联网 发布:软件著作权和发明专利 编辑:程序博客网 时间:2024/06/06 08:48

curl概念

Client URL Library Functions , 用URL语法传输数据的命令行工具

curl 使用场景

获取网页资源    - 网页爬虫WebService数据接口资源    - 动态获取接口数据FTP服务器里面的文件资源    - 下载与上传文件其他资源    - 所有网络上的资源都可以用curl访问和下载到

在PHP 中使用 curl

1、初始化    curl_init();2、参数设置    curl_setopt($handle , CURLOPT_*** , value);3、执行并返回结果    $result = curl_exec($handle);4、获取返回结果的相关参数    curl_getinfo($handle , CURLINFO_***);5、关闭curl    curl_close();

curl实战之一 - GET

<?php    $handle = curl_init();    curl_setopt($handle, CURLOPT_URL, "http://www.baidu.com");    // 为了让curl_exec 执行后不打印出来;因为它默认执行后打印获取到的内容    curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);        $result = curl_exec($handle);    var_dump($result);    curl_close($handle);

curl实战之二 - POST

<?php    $params = "data1=1&data2=2";    $handle = curl_init();    curl_setopt($handle, CURLOPT_URL, "http://www.baidu.com");    curl_setopt($handle, CURLOPT_HEADER, 0);       // 为了让curl_exec 执行后不打印出来;因为它默认执行后打印获取到的内容    curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);        // POST 方式    url_setopt($handle, CURLOPT_POST , 1);    url_setopt($handle, CURLOPT_POSTFIELDS , $params);    url_setopt($handle, CURLOPT_HTTPHEADER , array("application/x-www-form-urlencoded;        charset=utf-8",        "Content-length: ".strlen($params)        ));    $result = curl_exec($handle);    if(!curl_errno($handle)){        var_dump($result);    } else {        echo 'curl error : '. curl_error($handle);    }    curl_close($handle);

curl实战之三 - 需要登陆

<?php    $params = "username=data1&password=2&remember=1";    $handle = curl_init();    // 1、打开登陆网页    curl_setopt($handle, CURLOPT_URL, "http://xxx/login");    // 为了让curl_exec 执行后不打印出来;因为它默认执行后打印获取到的内容    curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);        // 2、COOKIE 相关设置,需要在所有绘画开始之前设置    date_default_timezone_set('PRC');   // 使用Cookie前,必须先设置时区    curl_setopt($handle, CURLOPT_COOKIESESSION, TRUE);     curl_setopt($handle, CURLOPT_COOKIEFILE, 'cookiefile');        curl_setopt($handle, CURLOPT_COOKIEJAR, 'cookiefile');     curl_setopt($handle, CURLOPT_COOKIE, session_name().'='.session_id());     curl_setopt($handle, CURLOPT_HEADER, 0);    curl_setopt($handle, CURLOPT_FOLLOWLOCATION, 1);   // 让curl支持页面链接跳转    // 3、登陆    url_setopt($handle, CURLOPT_POST , 1);    url_setopt($handle, CURLOPT_POSTFIELDS , $params);    url_setopt($handle, CURLOPT_HTTPHEADER , array("application/x-www-form-urlencoded;        charset=utf-8",        "Content-length: ".strlen($params)        ));    $result = curl_exec($handle);    // 4、登陆过后要做的内容    curl_setopt($handle, CURLOPT_URL, "http://xxx/index");    url_setopt($handle, CURLOPT_POST , 0);    url_setopt($handle, CURLOPT_HTTPHEADER , array("Content-type: text/xml"));    $result = curl_exec($handle);    if(!curl_errno($handle)){        var_dump($result);    } else {        echo 'curl error : '. curl_error($handle);    }    curl_close($handle);

curl实战之四 - FTP上传

    $fp = fopen("file" , "a+");    url_setopt($handle, CURLOPT_UPLOAD , 1);    url_setopt($handle, CURLOPT_INFILE , $fp);    url_setopt($handle, CURLOPT_INFILESIZE , filesize($fp));

curl实战之五 - HTTPS 下载文件

<?php    $handle = curl_init();    curl_setopt($handle, CURLOPT_URL, "https://xxx");    // 为了让curl_exec 执行后不打印出来;因为它默认执行后打印获取到的内容    curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);        // 设置HTPPS支持    date_default_timezone_set('PRC');    // 终止从服务端进行验证ssl    curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, 0);       $result = curl_exec($handle);    curl_close($handle);    echo $result;
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 七友元气骑士联机服务端下载 七友元气骑士联机服务端 七友元气骑士服务端 七骑士破解版 七骑士攻略 骑士总冠军第七场录像回放 七骑士现在叫什么名字 七骑士国服倒闭补偿 七骑士2 亚服七骑士 七骑士亚服 七骑士亚服吧 七骑士网站 坦克骑士 四骑士 七节骨准确位置图 七剑下天山之封神骨 他爱你入骨的七个细节 骨小七作品 再宠就废了 骨小七 小戏骨七仙女什么播放 将军的宠夫攻略 骨小七 第七鬼神邪神之怖拉修 七鬼神 七魔之主 第七子降魔之战 奥米加兽七魔形态 魔七 第七子降魔之战2 宠魔上线甜甜的爱 怨七 地狱七魔王 无限降临之魔神 七月 七鳃鳗鱼 七龄童与六龄童的关系 六龄童 六龄童简介 2018年6小龄童去世 九小龄童死亡 五小龄童咋死的 六小龄龄童灵堂卖片 龄童