PHP在Curl和HttpRequest之间的区别

The*_*own 24 php post http

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

我有两种方法可以做到这一点

两者有什么不同?什么更精益?快点?对我来说两者看起来都差不多......

Fra*_*mer 25

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

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

这个页面似乎表明HTTPRequest无论如何都使用了引擎盖下的CURL.听起来它可能会为curl_multi _*()提供稍微优雅的界面.


Jay*_*Tee 10

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

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

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

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


pal*_*ako 5

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

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

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

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

对于你在问题中解释的需求,我肯定会选择卷曲.