PHP Simple Api发布请求

时间:2017-05-07 17:42:00

标签: php json

大家好,我从来没有开发过php,但我必须创建一个小函数来对我的meteor节点应用程序发出post请求。终点工作正常我一直在测试它。我正在尝试使用post请求来获取我的登录令牌。提供用户名和密码,它应该返回json数据,即使它是不正确的,它返回json数据说登录被拒绝。

似乎正在发生这种情况。我的返回数据似乎总是为空。

正如我所说,我从未真正使用过php nore,我是否计划使用它。但这里是我的代码可能很容易修复错误。

<?php 

$ch = curl_init();

$params = array(
        "username" => "apilogin",
        "password" => "12345"
);

echo httpPost("http://127.0.0.1:3000/api/login", $params);


function httpPost($url,$params)
{
  $postData = http_build_query($params);

    $ch = curl_init();  

    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_POST, count($postData));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));


    $output=curl_exec($ch);
    // Check for errors
    if($output === FALSE){
        echo "false";
        die(curl_error($ch));
    }

    // Decode the response
    $output = json_decode($response, TRUE);
    curl_close($ch);
    return $output;
}
?>

1 个答案:

答案 0 :(得分:1)

改变:

$output = json_decode($response, TRUE);

成:

$output = json_decode($output, TRUE);

你从未做过变量$ response