百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> php怎样运用curl?(用途介绍)
分享文章到:

php怎样运用curl?(用途介绍)

发布时间:09/01 来源:未知 浏览: 关键词:
php怎样使用curl?下面本篇文章给大家总结一下php中的curl的用途。有必然的参照 价值,有需要的伴侣可以参照 一下,但愿对大家有所帮忙。

一、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恳求。

二、用途

(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);
?>

三、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版本信息

四、实例

1、使用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;
?>

2、使用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);
?>

3、使用代理抓取页面

为什么要使用代理停止抓取呢?以google为例吧,假如去抓google的数据,短时间内抓的很频繁的话,你就抓取不到了。google对你的ip地址做限制这个时候,你可以换代理从新抓。

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://google.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);
?>

4、连续保持本站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?(用途介绍)的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板