我编写了一个简单的代码来查看如何使用 cURL 接收 $_POST 数据:
一个.php
$close = array('request'=>'1');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "b.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $close);
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;
b.php
echo ($_POST);
我跑了a.php
,但什么也没发生。我也尝试过$_POST["request"]
,但也没有任何反应。
更新:
我发现了问题:
curl_setopt($ch, CURLOPT_URL, "b.php");
更改为
curl_setopt($ch, CURLOPT_URL, "http://localhost/php/b.php");
它解决了这个问题。但是,当我将来使用不同的主机时,这真的很不方便。我将不得不回来更改所有使用 cURL 的 url。我希望有办法解决这个问题。
更新 2 如果 cURL 太过分了,是否有另一种方法可以将 POST 或 GET 请求从一个 php 文件发送到另一个 php 文件?