【问题标题】:PHP Difference between Curl and HttpRequestCurl和HttpRequest之间的PHP区别
【发布时间】:2010-10-26 13:50:36
【问题描述】:

我需要向服务器执行 RAW POST (PUT a $var) 请求,并接受来自该页面的结果作为字符串。还需要添加自定义HTTP头信息(如x-example-info:2342342)

我有两种方法

两者有什么区别?什么更瘦?快点?两者在我看来几乎相同......

【问题讨论】:

    标签: php http post


    【解决方案1】:

    Curl 与 PHP 捆绑在一起,HTTPRequest 是一个单独的 PECL 扩展。

    因此,CURL 更有可能安装在您的目标平台上,这几乎是大多数项目的决定因素。如果您打算只在您个人有能力安装 PECL 扩展的服务器上安装软件,我只会考虑使用 HTTPRequest;如果您的客户将进行自己的安装,那么安装 PECL 扩展通常是不可能的。

    This page 似乎暗示 HTTPRequest 无论如何都使用 CURL。不过,听起来它可能会为 curl_multi_*() 提供更优雅的接口。

    【讨论】:

      【解决方案2】:

      HTTPRequest(和 PECL 扩展)建立在 libcurl 之上。

      http://us.php.net/manual/en/http.requirements.php

      HTTPRequest 实际上只是执行相同任务的一种更简单/语法更友好的方式。

      正如 Frank Farmer 所提到的,您更有可能拥有已安装 curl 的目标平台,并且可能难以让托管服务提供商安装 PECL 库。

      【讨论】:

        【解决方案3】:

        HTTPRequest 是 curl 的“一种”包装器。手册中的这两个引用应该给你一个线索:

        • 如果使用 CURL 支持构建,它会提供强大的请求功能。并行请求可用于 PHP 5 及更高版本。

        • 必须使用 » libcurl 支持构建扩展以启用请求功能 (--with-http-curl-requests)。需要等于或高于 v7.12.3 的库版本。

        说过(并说我自己从未使用过这个扩展),看起来如果你想让你的代码看起来更面向对象,你可以选择这个,但它可能会慢一点,虽然没有什么可比的与您将要拨打的外部电话,所以我不会考虑性能来做出我的选择。我会优先考虑 curl 是内置的这一事实,而另一个则必须自己添加,如果您想将应用程序托管在您无法控制的共享环境中,这很不方便并且会降低可移植性。

        对于您在问题中解释的需求,我肯定会选择 curl。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-09-13
          • 2012-04-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-01
          • 2020-04-24
          相关资源
          最近更新 更多