zoukankan      html  css  js  c++  java
  • Php如何使用curl

    cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。

     

    为什么要用 cURL?

     

    是的,我们可以通过其他办法获取网页内容。大多数时候,都直接用简单的PHP函数:

     

    $content = file_get_contents("http://www.nettuts.com");

    // or

    $lines = file("http://www. baidu.com");

    // or

    readfile(http://www.baidu.com);

     

    不过,这种做法缺乏灵活性和有效的错误处理。而且,你也不能用它完成一些高难度任务——比如处理coockies、验证、表单提交、文件上传等等。

     

    引用:

    cURL 是一种功能强大的库,支持很多不同的协议、选项,能提供 URL 请求相关的各种细节信息。

     

    基本结构

     

    在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤:

     

    初始化

    设置变量

    执行并获取结果

    释放cURL句柄

    // 1. 初始化

    $ch = curl_init();

    // 2. 设置选项,包括URL

    curl_setopt($ch, CURLOPT_URL, "http://www.nettuts.com");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_HEADER, 0);

    // 3. 执行并获取HTML文档内容

    $output = curl_exec($ch);

    // 4. 释放curl句柄

    curl_close($ch);

     

    第二步(也就是 curl_setopt() )最为重要,一切玄妙均在此。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。

     

    检查错误

     

    你可以加一段检查错误的语句(虽然这并不是必需的):

     

    // ...

    $output = curl_exec($ch);

    if ($output === FALSE) {

    echo "cURL Error: " . curl_error($ch);

    }

    // ...

     

    请注意,比较的时候我们用的是"=== FALSE",而非"== FALSE"。因为我们得区分 空输出 和 布尔值FALSE,后者才是真正的错误。

    @网络

    文章来源:刘俊涛的博客

    地址:http://www.cnblogs.com/lovebing

    欢迎关注,有问题一起学习欢迎留言、评论。

  • 相关阅读:
    函数式编程
    8 Principles of Better Unit Testing
    COM 组件 V.S. .NET
    WebBrowser 禁用脚本错误提示
    Unable to automatically debug "XXXXX“
    简介
    android中实现跑马灯效果以及AutoCompleteTestView与MultiAutoCompleteTextView的学习
    我的Android六章:Android中SQLite数据库操作
    Android的生命周期学习
    我的Android第五章:通过Intent实现活动与活动之间的交互
  • 原文地址:https://www.cnblogs.com/lovebing/p/8269560.html
Copyright © 2011-2022 走看看