PHP CURL

作者: 杨杨1314 | 来源:发表于2016-07-27 14:47 被阅读64次

    一、什么是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:这是一个简单的抓取页面的例子

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

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

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

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

    相关文章

      网友评论

        本文标题:PHP CURL

        本文链接:https://www.haomeiwen.com/subject/tnuojttx.html