很明显cURL functions被广泛使用。但那是为什么呢?是否真的只是因为扩展主要是默认启用的?
虽然我当然可以提到不在内置引入第三方库(DOMDocument vs phpQuery),但使用curl对我来说有些奇怪。有很多HTTP库,如Zend_Http或PEAR Http_Request。尽管我对不必要的面向对象接口不屑一顾,但curl的 pull-parameter-procedural API 让我感觉不那么清晰。
当然有理由这样做。但是我想知道大多数PHP开发人员是否意识到实际上可以使用什么libcurl,而且它不只是一个HTTP库?
您是否有使用cURL的示例或实际代码<任何其他内容>这是为了什么?
或者如果你只是将它用于HTTP,原因是什么。为什么现在似乎避免使用真正的PHP HTTP库?
答案 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)
评论中提到的功能原因:
历史原因: