PHP CURL

一、什么是CURL?

CURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。使用PHP的CURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。

二:CURL常用函数

curl_init :初始化一个curl会话

curl_close : 关闭一个curl会话

curl_copy_handle : 拷贝一个curl连接资源的所有内容和参数

curl_errno : 返回一个包含当前会话错误信息的数字编号

curl_error : 返回一个包含当前会话错误信息的字符串

curl_exec : 执行一个curl会话

curl_getinfo : 获取一个curl连接资源句柄的信息

curl_multi_add_handle : 向curl批处理会话中添加单独的curl句柄资源

curl_multi_close : 关闭一个批处理句柄资源

curl_multi_exec : 解析一个curl批处理句柄

curl_multi_getcontent : 返回获取的输出的文本流

curl_multi_info_read : 获取当前解析的curl的相关传输信息

curl_multi_init : 初始化一个curl批处理句柄资源

curl_multi_remove_handle : 移除curl批处理句柄资源中的某个句柄资源

curl_multi_select : Get all the sockets associated with the cURL extension, which can then be “selected”

curl_setopt_array : 以数组的形式为一个curl设置会话参数

curl_setopt : 为一个curl设置会话参数

curl_version : 获取curl相关的版本信息

三:常用函数具体说明

curl_init():初始化一个curl会话

curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com/");设置要抓取的url

curl_setopt($curl,CURLOPT_HEADER,0);设置头文件的信息作为数据流输出

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);设置获取的信息以文件流的形式返回,而不是直接输出

curl_setopt($curl,CURLOPT_POST,1);设置post方式提交

curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);设置post数据

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);禁止服务器进行证书认证

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);不检查证书

curl_exec($curl);执行一个curl会话并返回结果

curl_close($curl);关闭一个curl会话

四:CURL GET,POST实例

这两天经过查阅关于curl的文章,个人认为curl get的作用更多的是用来抓取页面,不管是文章也好,图片也罢。而post,我认为它的作用更趋向于模拟表单提交。这是我个人的看法,如果有错误,欢迎指正。下面是get和post的两个实例。

1:GET:这是一个简单的抓取页面的例子

PHP CURL_第1张图片

2:POST:这是post模拟表单提交的例子

PHP CURL_第2张图片

五:下面的例子是用curl和file_get_contents两种方法抓取图片的例子,在我的github上均有demo,请看链接

https://github.com/131468yanglijun/php/tree/master/image_grab_demo

好了,大概就是这些,很多函数我也没有具体用过,摘抄来。以后用的时候可以参考一下。

你可能感兴趣的:(PHP CURL)