php中使用cURL

  [复制链接]

2190

主题

2231

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11600
admin 发表于 2021-5-29 16:25:32
28398 103
课程目录

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()函数要好很多!

image.png

资源存放>百度网盘

下载地址
游客,如果您要查看本帖隐藏内容请回复

VIP会员全站免金币
IT直通车已为全国各地程序员提供上千G课程资源
如您需要购买本站VIP会员,请点击「开通VIP」享受全站资源免金币无限制下载!

失效反馈
IT直通车所有资源都存放在自己注册的百度网盘,失效可修复,确保持续可用
如您需要的资源链接提示失效,请尽情反馈给我们,将在收到反馈后尽快修复「点击反馈

获得帮助
需要帮助吗?点击网站右侧在线客服,7X12小时在线!


回复

使用道具 举报

刘岑岑故 发表于 2021-5-29 16:28:18
感谢分享66666
回复

使用道具 举报

落叶的时节 发表于 2021-5-30 20:27:29
ttttttttttttt
回复

使用道具 举报

红军利物浦2017 发表于 2021-5-30 20:47:31
6666666666666
回复

使用道具 举报

光荣与梦想483 发表于 2021-5-30 22:25:45 来自手机
ttttttttttttt
回复

使用道具 举报

acmain_chm 发表于 2021-5-31 15:29:29
看了几节课程,对我帮助很大
回复

使用道具 举报

立郎 发表于 2021-6-1 12:34:04
教程不错很清晰,来下载新课程学习了
回复

使用道具 举报

万象争辉1 发表于 2021-6-4 08:25:11
6666666666666
回复

使用道具 举报

1156414661 发表于 2021-6-4 09:55:24
祝IT直通车越办越好
回复

使用道具 举报

付佳琦 发表于 2021-6-6 08:11:12
谢谢分享!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

遇到问题联系客服

售后保障

如您充值或开通会员后资源无法下载

本站有售后服务,联系客服修复即可

[联系客服]-[会员充值]

更多课程

需要帮助吗?请右侧联系在线QQ客服

关于本站

VIP介绍 加入我们

售后服务

QQ客服 Email邮件

网站声明

IT直通车(www.itztc.com)是一个IT视频教程、软件、书籍资源整合分享平台
站内所有资源均来自于互联网,版权归属原资源作者,如无意侵犯您的版权,请联系我们删除处理。

Archiver|手机版|小黑屋|IT学习网 |网站地图

Powered by Discuz! X3.4  © 2001-2013 IT直通车 ICP证:粤ICP备13026616号 增值电信业务经营许可证:粤B2-20140196

返回顶部 返回列表