php请求接口或采集网页用什么函数高效,curl用法介绍

作者:admin 发布时间:2020-04-18 23:32:51 浏览:677次
php如何使用curl?下面本篇文章给小超越工作室大家总结一下php中的curl的用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

一、curl简介

百度百科给的解释是:数据传输神器。那它神器在什么地方那,通过查找资料得出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: 'https://www.zhe94.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获得数据

2、使用curl,post获得数据

'test_name', 'age' => 1 ); curl_post("https://www.zhe94.com/", $arr_post); ?>

3、使用代理抓取页面

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

4、继续保持本站session的调用

在实现用户同步登录的情况下需要共享session,如果要继续保持本站的session,那么要把sessionid放到http请求中

如需转载请保留本文出处: https://www.zhe94.com/693.html

上一篇:快速建站之前言:如何建立一个自己的网站
下一篇:怎么利用php上传文件?搞懂这些函数就够了