php使用curl的方法介绍
这篇文章主要介绍了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:
'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获得数据
2、使用curl,post获得数据
'test_name', 'age' => 1);curl_post("http://www.explame.com/", $arr_post);?>
3、使用代理抓取页面
为什么要使用代理进行抓取呢?以google为例吧,如果去抓google的数据,短时间内抓的很频繁的话,你就抓取不到了。google对你的ip地址做限制这个时候,你可以换代理重新抓。
4、继续保持本站session的调用
在实现用户同步登录的情况下需要共享session,如果要继续保持本站的session,那么要把sessionid放到http请求中
关于php使用curl的方法介绍就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。