php如何使用curl?(用法介绍)-php教程

资源魔 31 0
php若何应用curl?上面本篇文章给各人总结一下php中的curl的用法。有肯定的参考代价,有需求的冤家能够参考一下,心愿对各人有所协助。

1、curl简介

baidu百科给的诠释是:数据传输神器。那它神器正在甚么中央那,经过查找材料患上出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、用法

(1)、要想应用curl,第一步先要正在php中开启curl,正在php设置装备摆设文件php.ini中找到extension=php_curl.dll,把后面的‘;’去掉。重启效劳器。正在php代码顶用phpinfo()打印,发现图中curl阐明开启胜利。

(2)、应用curl实现简略的申请次要分为四年夜步:

初始化,创立一个新的curl资本。

设置url以及相应的选项

抓取url并把他通报给阅读器

封闭curl资本。把资本开释。

eg:

<?php
// 创立一个新cURL资本
$ch = curl_init();

// 设置URL以及相应的选项
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// 抓取URL并把它通报给阅读器
curl_exec($ch);

// 封闭cURL资本,而且开释零碎资本
curl_close($ch);
?>

3、curl函数

  • curl_close — 封闭一个cURL会话

  • curl_copy_handle — 复制一个cURL句柄以及它的一切选项

  • curl_errno — 前往最初一次的谬误号

  • curl_error — 前往一个维护以后会话比来一次谬误的字符串

  • curl_escape — 应用 URL 编码给定的字符串

  • curl_exec — 执行一个cURL会话

  • curl_file_create — 创立一个 CURLFile 工具

  • curl_getinfo — 猎取一个cURL衔接资本句柄的信息

  • curl_init — 初始化一个cURL会话

  • curl_multi_add_handle — 向curl批解决会话中增加独自的curl句柄

  • curl_multi_close — 封闭一组cURL句柄

  • curl_multi_exec — 运转以后 cURL 句柄的子衔接

  • curl_multi_getcontent — 假如设置了CURLOPT_RETURNTRANSFER,则前往猎取的输入的文本流

  • curl_multi_info_read — 猎取以后解析的cURL的相干传输信息

  • curl_multi_init — 前往一个新cURL批解决句柄

  • curl_multi_remove_handle — 移除了curl批解决句柄资本中的某个句柄资本

  • curl_multi_select — 期待一切cURL批解决中的流动衔接

  • curl_multi_setopt — 为 cURL 并行解决设置一个选项

  • curl_multi_strerror — Return string describing error code

  • curl_pause — Pause and unpause a connection

  • curl_reset — 重置一个 libcurl 会话句柄的一切的选项

  • curl_setopt_array — 为cURL传输会话批量设置选项

  • curl_setopt — 设置一个cURL传输选项

  • curl_share_close — Close a cURL share handle

  • curl_share_init — Initialize a cURL share handle

  • curl_share_setopt — Set an option for a cURL share handle.

  • curl_strerror — Return string describing the given error code

  • curl_unescape — 解码给定的 URL 编码的字符串

  • curl_version — 猎取cURL版本信息

4、实例

一、应用curl,get取得数据

<?php
$url = 'http://www.example.com';
//初始化一个 cURL 工具 
$ch  = curl_init();
//设置你需求抓取的URL
curl_setopt($ch, CURLOPT_URL, $url);
// 设置cURL 参数,要求后果保留到字符串中仍是输入到屏幕上。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//能否取得跳转后的页面
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
?>

二、应用curl,post取得数据

<?php
function curl_post($url, $arr_data){
   $post_data = http_build_query($url_data);
   $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch,  CURLOPT_POSTFLELDS, $post_data);
    $data = curl_exec($ch);
    curl_close($ch);
    echo $data;
}
$arr_post = array(
    'name'=>'test_name',
    'age'   => 1
);
curl_post("http://www.explame.com/", $arr_post);
?>

三、应用代办署理抓取页面

为何要应用代办署理进行抓取呢?以谷歌为例吧,假如去抓谷歌的数据,短期内抓的很频仍的话,你就抓取没有到了。谷歌对你的ip地点做限度这个时分,你能够换代办署理从新抓。

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://谷歌.com"); 
curl_setopt($ch, CURLOPT_HEADER, false);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//能否经过http代办署理来传输
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080);  
//url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');假如要明码的话,加之这个  
$result=curl_exec($ch); 
curl_close($ch);
?>

四、持续放弃本站session的挪用

正在完成用户同步登录的状况下需求同享session,假如要持续放弃本站的session,那末要把sessionid放到http申请中

<?php
$session_str = session_name().'='.session_id().'; path=/; domain=.explame.com';
session_write_close(); //将数据写入文件而且完结session
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $session_str); 
$ret = curl_exec($ch);
curl_close($ch);
?>

end

本文转载自:https://blog.csdn.net/longgeaisisi/article/details/89330576

保举学习:PHP视频教程

以上就是php若何应用curl?(用法引见)的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!