php之cURL惯用
2018-06-22 05:31:53来源:未知 阅读 ()
1、php cURL的强大:PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器、使用各种协议。libcurl 目前支持的协议有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同时支持 HTTPS 证书、HTTP POST、HTTP PUT、 FTP 上传(也能通过 PHP 的 FTP 扩展完成)、HTTP 基于表单的上传、代理、cookies、用户名+密码的认证。
2、基本步骤:初始化==》设置参数==》执行==》关闭
初始化:
resource curl_init ([ string $url = NULL ] ) //初始化新的会话,返回 cURL 句柄,供curl_setopt()、 curl_exec() 和 curl_close() 函数使用。 resource curl_multi_init ( void ) //允许并行地处理批处理cURL句柄。
设置参数:
bool curl_setopt ( resource $ch , int $option , mixed $value ) /* 常用设置: CURLOPT_URL---需要获取的 URL 地址,也可以在curl_init() 初始化会话的时候 CURLOPT_HEADER---启用时会将头文件的信息作为数据流输出 CURLOPT_POST---TRUE 时会发送 POST 请求,类型为:application/x-www-form-urlencoded,是 HTML 表单提交时最常见的一种 CURLOPT_POSTFIELDS---全部数据使用HTTP协议中的 "POST" 操作来发送 CURLOPT_RETURNTRANSFER---TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出 CURLOPT_SSL_VERIFYPEER---FALSE 禁止 cURL 验证对等证书(peer's certificate)。要验证的交换证书可以在 CURLOPT_CAINFO 选项中设置,或在 CURLOPT_CAPATH中设置证书目录。 */
执行:
mixed curl_exec ( resource $ch ) //这个函数应该在初始化一个 cURL 会话并且全部的选项都被设置后被调用。 int curl_multi_exec ( resource $mh , int &$still_running ) //处理curl_multi_init() 返回的 cURL 多个句柄
关闭:
void curl_close ( resource $ch ) //关闭 cURL 会话并且释放所有资源。cURL 句柄 ch 也会被删除。 void curl_multi_close ( resource $mh ) //关闭一组cURL句柄。
3、GET的实现:php curl的get方式最为简单基本,只需要按照步骤即可获取网页返回的内容
$url="xxx"; //初始化 $ch = curl_init(); //设置选项,一般至少设置2个以上,以下三个最为常设 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //执行并获取HTML文档内容 $result = curl_exec($ch); //释放curl句柄 curl_close($ch); //打印获得的数据 print_r($result);
4、POST的实现:post发送肯定要设置post方式啦,而要post的数据用数组保存起来
$url = "xxx"; $data = array ("name" => "zhylioooo","pswd" => "12345"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // pos发送 curl_setopt($ch, CURLOPT_POST, 1); // 要post的数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); //打印获得的数据 print_r($output);
5、FILE的实现:上传文件和post差不多,只是数据不同而已
$url = ""; $data = array( "name"=>"zhylioooo", //其他要post的数据 "file" => new \CURLFile($_FILES['upfile'['tmp_name']) //指定是上传文件,抛弃@,参数是文件路径 ); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //跳过SSL证书检查。 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); echo $output;
6、php的cURL的官方网址:http://php.net/manual/zh/book.curl.php
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:nginx-php-fpm
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash