【发布时间】:2015-03-21 21:30:43
【问题描述】:
我正在尝试编写一个简化的中间层,它转发从前端收到的 $_POST 并返回从服务器端收到的响应。
以下是我发送 $_POST 的 php:
<?php
$username= 'testuser';
$password = '123' ;
$fields = array('username' => $username, 'password' => $password);
echo 'hello world' ; //checking
$url = 'url';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
这是接收 curl 并回显 $_POST 的 php 文件(用于检查是否正确接收)。
<?php
if (isset($_POST["username"]) && !empty($_POST["username"])) {
echo $_POST["username"];}
if (isset($_POST["password"]) && !empty($_POST["password"])) {
echo $_POST["password"];}
?>
当我在我的网络服务器上运行它时,我只会得到“Hello world”。为了取回响应用户名/密码,我需要更改什么?
【问题讨论】:
-
“让他们回来”是什么意思?您将它们发送到 nirwana,因为
'url'肯定不是有效的 url。但即使 if 您会在那里使用有效的 url,您也会将这些值发布到该 url。你为什么要收到他们返回?这是一个很好的例子,为什么跳过错误处理不是一个好主意。错误处理会显示您的 curl 请求由于您选择的 url 而失败。还可以查看错误日志文件。 -
Url 将是我发布的第二个 php 文件的 url。通常我会收到诸如数据库对密码和用户名的特定组合的响应是否有效。我只是在这里回显用户名/密码,只是为了检查接收端是否正在获取 POST 字段。很抱歉给您留下了错误的印象。
-
您需要了解
CURLOPT_POSTFIELDS期望的格式...