PHP中cURL的好用例是什么?

时间:2011-02-13 21:33:44

标签: php curl

很明显cURL functions被广泛使用。但那是为什么呢?是否真的只是因为扩展主要是默认启用的?

虽然我当然可以提到不在内置引入第三方库(DOMDocument vs phpQuery),但使用curl对我来说有些奇怪。有很多HTTP库,如Zend_HttpPEAR Http_Request。尽管我对不必要的面向对象接口不屑一顾,但curl的 pull-parameter-procedural API 让我感觉不那么清晰。

当然有理由这样做。但是我想知道大多数PHP开发人员是否意识到实际上可以使用什么libcurl,而且它不只是一个HTTP库

您是否有使用cURL的示例或实际代码<任何其他内容>这是为了什么?

或者如果你只是将它用于HTTP,原因是什么。为什么现在似乎避免使用真正的PHP HTTP库?

3 个答案:

答案 0 :(得分:2)

我认为这与人们为什么使用mysql函数而不是mysqli(更多面向对象的接口)或者更进一步使用数据抽象层或PDO有关。

HTTP_Request2表示有一个cURL适配器可用于包装PHP的cURL函数。

就我个人尝试过的很多PEAR扩展而言,我并没有给人留下深刻的印象(而且我对那些长时间没有更新的alpha版本的PEAR库感到不太自信)。而HTTP_Request2库确实看起来很不错

我会使用cURL而不考虑查看可能使用的PEAR库。所以感谢提高我的意识。

答案 1 :(得分:1)

您提到的库不是默认的,根据我在PHP方面的经验,我更喜欢使用较少的这些库;与PHP本身相比,它们可以实现更广泛的攻击面,降低可靠性,对未来的修改/弃用开放。

然后,有了套接字功能,虽然我已经使用了一些时间,但我更愿意尽可能依赖更高级别的方法。

我用过什么CURL?

有些人可能知道,我目前正在研究PHP框架。通信核心扩展(适当地称为" connect")使用CURL作为它的基础。

我已广泛使用它,从提取网站形式的网站(连同解析器实用程序和东西)到HTTP上的标准API调用以及禁用PHP的FTP时的FTP层(通过流包装器) ) - 我们都知道本地PHP FTP是可靠的。

答案 2 :(得分:0)

评论中提到的功能原因:

  • 它很老,[广泛使用和]经过良好测试的代码,可靠地运作
  • 通常默认启用
  • 允许对请求的细节进行非常精细的控制。
    • 这可能需要扩展。根据公分母协议API的性质,cURL可能提供PHP中普通HTTP库无法实现的功能......

历史原因:

  • curl曾经是唯一可以处理cookie,POST,文件上传......
  • 很多卷曲使用可能来自于教程之前的PHP 5