如何使用 PHP 发送 Post 请求

在本教程中,我们将分享使用 PHP 发送 post 请求的 3 种有效方法。

使用 Pecl_Http

通常,Pecl_Http 结合了两个接口。
第一个被认为是过程的,第二个是面向对象的。
让我们从发现第一个开始。
它为我们提供了比 curl 更简单的方法。
这是一个脚本,它被翻译为 pecl_http:

$url = 'http://api.onitroad.com/services/xmlrpc/';
$response = http_post_data($url, $xml);

使用 PHP Curl

PHP cURL 扩展是一种非常简单的方式,允许将不同的标志与 setopt() 调用结合起来。

下面是一个带有 $xml 变量的示例,其中包含准备发送的 XML:

$url = 'http://api.onitroad.com/services/xmlrpc/';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

从上面的示例中可以看出,首先初始化连接,然后使用 setopt() 设置一些选项。
这些操作通知 PHP 发出 post 请求。

使用 Pecl_HTTP 的面向对象 (OO) 接口

如上所述,xpecl_http 的第二个接口被认为是面向对象的。
它类似于上面演示的 2 个扩展,但应用了不同的接口。
它的代码如下所示:

$url = 'http://api.onitroad.com/services/xmlrpc/';
$request = new HTTPRequest($url, HTTP_METH_POST);
$request->setRawPostData($xml);
$request->send();
$response = $request->getResponseBody();

我们可以注意到此代码比前一个更长。
我们可能认为它更复杂,但它和以前的一样强大和灵活。
因此,在实践中实施它可能是一个出色的选择。

日期:2020-06-02 22:15:53 来源:oir作者:oir