CURL使用

CURL可以模拟浏览器,因此它同样支持多种协议

FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:

HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,

下载文件断点续传,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。

一.配置:

默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能

;extension=php_curl.dll前面的分号去掉

二.使用

<?php
//1.初始化,创建一个新cURL资源
$ch = curl_init();
//2.设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.wozaizhe.net/");
curl_setopt($ch, CURLOPT_HEADER, 0);
//3.抓取URL并把它传递给浏览器
curl_exec($ch);
//4.关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

  例上传图

// 上传图片到zimg图片存储服务
$ch = curl_init();
$post_data = file_get_contents($realpath);
//获取图片信息$headers = array();
$headers[] = 'Content-Type:' . $ext;
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_URL, $zimg_upload_url);
//需要获取的URL地址
curl_setopt($ch, CURLOPT_HEADER, false);
//启用时会将头文件的信息作为数据流输出。
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置:array('Content-type: text/plain', 'Content-length: 100') 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中
curl_setopt($ch, CURLOPT_POST, true);
//post提交
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
//在启用的时候,返回原生的(Raw)输出。 

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$info = curl_exec($ch);
curl_close($ch);
......//对信息处理

  

  

原文地址:https://www.cnblogs.com/attitudeY/p/6265307.html