curl 返回 true 而不是值


Curl returns true instead of value

我正在尝试制作一个简单的API。但是,不知道为什么,但我得到的是真,而不是应该返回的值。

这是卷曲代码。

try
        {
        $target_url = "my url";
        $post = array(
            'auth_token' => '123456' // post your auth token here
            //'file_contents' => '@' . $_FILES['file']['temp_name']); //the name of the input type is file, you can change it in your HTML.
            );
        $ch = curl_init();
        if($ch == false)
        {
            echo "Couldnt initialize curl";
        }
        curl_setopt($ch, CURLOPT_URL,$target_url);
        curl_setopt($ch, CURLOPT_POST,1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        $result=curl_exec ($ch);
        if (FALSE === $result)
            throw new Exception(curl_error($ch), curl_errno($ch));
        var_dump($result);
        curl_close ($ch);
        }
        catch(Exception $e)
        {
            trigger_error(sprintf(
        'Curl failed with error #%d: %s',
        $e->getCode(), $e->getMessage()),
        E_USER_ERROR);
        }

获取内容的文件:-

return $_POST['auth_token']

但是,var_dump的结果是 bool(true) 而不是 123456。为什么会这样?

你需要

echo不要return

echo $_POST['auth_token'];

您需要CURLOPT_RETURNTRANSFER才能curl_exec()返回内容:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_exec

成功时返回 TRUE,失败时返回 FALSE。但是,如果 CURLOPT_RETURNTRANSFER设置了选项,它将返回结果 成功,失败时为假。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);您需要将其以正确的格式返回数据,也可以使用 gettype($string) 检查输出的数据类型;