最新公告
  • 欢迎您诸葛孔明网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • php中使用cURL,全套视频教程学习资料通过百度云网盘下载

    php中使用cURL,全套视频教程学习资料通过百度云网盘下载 最后编辑:2021-11-16
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    资源详情

                          

    php curl使用总结(一)

     

    今天和第三方支付做对接的时候,在本地用wamp(php版本5.4.14)运行他们的支付demo的时候,报了一个错误。loadXML函数中不能传空值。排查代码的时候,发现他们用了curl,我以前也接触过curl,但是并没有很深的研究只知道他是一种模拟浏览器传输数据的工具。借着这个机会把curl好好的研究一下。

    1、curl是什么

    百度百科给的解释是:数据传输神器。那它神器在什么地方那,通过查找资料得出curl可以使用url的语法模拟浏览器来传输数据,因为是模拟浏览器所以它支持多种的网络协议。目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

    php中使用最多的是通过curl来模拟get和post请求。

     

    2、如何使用curl

    (1)、要想使用curl,第一步先要在php中开启curl,在php配置文件php.ini中找到extension=php_curl.dll,把前面的‘;’去掉。重启服务器。在php代码中用phpinfo()打印,发现图中curl说明开启成功。

    (2)、使用curl完成简单的请求主要分为四大步:

    1).初始化,创建一个新的curl资源。

    2).设置url和相应的选项

    3).抓取url并把他传递给浏览器

    4).关闭curl资源。把资源释放。

    复制代码
     1         $MyAES = new MyAES();
     2         $jiaRes = $MyAES->desEncryptStr($data,\"1102130405061708\");
     3         $header[] = \"Content-type: text/xml;charset=UTF-8\";
     4         $ch = curl_init();
     5         curl_setopt($ch, CURLOPT_URL,REURL);
     6         curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
     7         curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
     8         curl_setopt($ch, CURLOPT_POST, true);
     9         curl_setopt($ch, CURLOPT_POSTFIELDS, $jiaRes);
    10         $aa = curl_exec($ch);
    11         // grab URL, and print    
    12         if(curl_errno($ch)){
    13             print curl_error($ch);
    14         }
    15         curl_close($ch);    

    复制代码

    贴上项目一段代码,好好的分析一下。

    curl_init这个是初始化,创建一个新的curl资源。
    
    curl_setopt这个是php的函数。设置一个curl传输选项。
    根据php手册对curl_setopt这个函数说明一下,这个函数需要传三个参数,第一个是curl句柄(我的理解就是那个创建的curl资源)。第二个是需要设置的curlopt_XX选项。第三个参数就是选项对应的值。
    
    curl_exec函数是执行curl会话。这个函数是初始化一个curl并且全部的选项都设置之后再调用。
    成功时返回 TRUE, 或者在失败时返回 FALSE。 然而,如果 CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行的结果,失败时返回 FALSE 。 
    
    CURLOPT_URL 需要获取的url地址         CURLOPT_RETURNTRANSFER 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
    
    CURLOPT_HTTPHEADER  一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array(\'Content-type: text/plain\', \'Content-length: 100\') 
    CURLOPT_POST 启用时会发送一个常规的POST请求     CURLOPT_POSTFIELDS  全部数据以http协议中post方式发送。
    
    
     跟多curlopt对应的设置请查看php文档 http://php.net/manual/zh/book.curl.php
    
    特意说明一下curl_setopt_array — 为 cURL 传输会话批量设置选项
    使用案例为

    复制代码

     1 <?php
     2 // 创建一个新cURL资源
     3 $ch = curl_init();
     4 
     5 // 设置URL和相应的选项
     6 $options = array(CURLOPT_URL => \'http://www.example.com/\',
     7                  CURLOPT_HEADER => false
     8                 );
     9 
    10 curl_setopt_array($ch, $options);
    11 
    12 // 抓取URL并把它传递给浏览器
    13 curl_exec($ch);
    14 
    15 // 关闭cURL资源,并且释放系统资源
    16 curl_close($ch);
    17 ?>

    复制代码

    curl是很强大的,例如,我们只想把获取到的内容输入到文件,而不是直接输出给浏览器,我们就可以使用CURLOPT_RETURNTRANSFER选项!



    这样在curl执行的时候,就会把页面的内容输出到文件当中,我们就可以完成采集等功能啦!



    效率方面,curl的原理是模拟浏览器的操作,它的效率要比file_get_contents()高出四倍以上,试想一下,我们



    要采集一个信息量特别庞大的站,运行效率的差别可想而知!



    不单单是效率上,稳定忄生上来说,curl也远比file_get_contents()函数要好很多!

    猜你喜欢

    猜你在找

    诸葛孔明资源网,集成会员系统
    诸葛孔明源码资源网 » php中使用cURL,全套视频教程学习资料通过百度云网盘下载

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    诸葛孔明
    诸葛孔明
    • 2021-11-16Hi,初次和大家见面了,请多关照!
    • 675会员总数(位)
    • 40703资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1661稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情