cURL函数

PHP的cURL函数是通过libcurl库与服务器使用各种类型的协议进行连接和通信的,curl目前支持HTTP GET 、HTTP POST 、HTTPS认证、FTP上传、HTTP基于表单的上传、cookie和用户名+密码的认证等,功能十分强大。

在PHP中建立cURL请求的基本步骤:
  1、初始化
  2、设置变量
  3、执行并获取结果
  4、释放cURL句柄

curl的几个重要的函数:
  1、curl_init:初始化一个cURL会话
  2、curl_setopt:设置cURL传输选项(关键)
  3、curl_exec:执行一个cURL会话
  4、curl_close:关闭一个cURL会话


一、curl函数模拟GET
    根据HTTP规范,GET用于信息的获取,可以理解为通过URL地址访问网址,是最基本的用法。
示例:

1 <?php
2 //GET方式抓取页面
3 $ch = curl_init(); //初始化
4 $url = "http://baidu.com"; //设置抓取URL地址
5 curl_setopt($ch,CURLOPT_URL,$url);//GET方式抓取URL
6 curl_exec($ch);//执行
7 curl_close($ch);//关闭
8 
9 ?>

二、curl函数处理GET数据
有时候通过GET方式获取页面并不需要全部的数据,而需要截取部分数据,这时候需要通过CURLOPT_RETURNTRANSFER选项将页面以文件流的形式保存,然后进行输出。

示例:

 1 <?php
 2 
 3 $url ="http://apix.sinaapp.com/joke/?appkey=trialuser";
 4 $ch = curl_init();
 5 curl_setopt($ch,CURLOPT_URL,$url);
 6 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 7 $output = curl_exec($ch);
 8 curl_close($ch);
 9 echo $output;
10 
11 ?>


三、curl函数模拟POST请求
根据HTTP规范,POST用于向服务器提交数据,典型的应用为表单提交,安全性较GET方式安全。模拟POST请求需要使用CURLOPT_POST和CURLOPT_POSTFIELDS两个选项。


四、curl函数模拟POST上传文件
POST另一个应用为上传文件,微信的高级接口也开放多媒体文件上传功能。文件上传的加密方式为multipart/form-data,POST内容需要为数组格式。

 1 //模拟POST上传文件
 2 //POST提交内容
 3 $post = array("filename"=>"@D:AppServwwwcurlyunzhimeng.jpg");
 4 $url = "http://yzmweixin.sinaapp.com/uplode.php";//上传地址
 5 $ch = curl_init();
 6 curl_setopt($ch,CURLOPT_URL,$url);
 7 curl_setopt($ch,CURLOPT_POST,1);//模拟POST
 8 curl_setopt($ch,CURLOPT_POSTFIELDS,$post);//POST内容
 9 curl_exec($ch);
10 curl_close($ch);
原文地址:https://www.cnblogs.com/heyijing/p/5072413.html