当响应代码为201时使用PHP获取主体

当响应代码为201时使用PHP获取主体,php,http,http-response-codes,Php,Http,Http Response Codes,我需要与REST Web服务器接口。当我发出请求时,它会用HTTP响应代码201(已创建)和正文中的相关信息(JSON对象)进行响应(正确) 我可以用cURL来验证它 我试图通过PHP的file\u get\u contents函数获取正文,并使用以下代码指定正确的上下文对象: $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header'

我需要与REST Web服务器接口。当我发出请求时,它会用HTTP响应代码201(已创建)和正文中的相关信息(JSON对象)进行响应(正确)

我可以用cURL来验证它

我试图通过PHP的
file\u get\u contents
函数获取正文,并使用以下代码指定正确的上下文对象:

$context = stream_context_create(array(
     'http' => array(
       'method' => 'POST',
       'header' => $header,
       'timeout' => 10.0,
       'content' => $body,
            'ignore_errors' => true
      )
    )
);

$answer = file_get_contents($url, false, $context);
但是,函数总是返回一个假值,我无法获取返回的正文

我能做什么?(我不想从PHP调用cURL)

好的,我找到了。 原因是一个旧的php版本, 没有处理“忽略错误”参数。 切换到更新版本的php,现在它可以工作了。

好的,我找到了。 原因是一个旧的php版本, 没有处理“忽略错误”参数。
切换到更新版本的php,现在它可以工作了。

php本身就有curl方法。无需从shell调用curl。文件内容应返回正文。也许你的请求因为某种原因失败了。更好的是,它是一个很好的curl包装器。你可以建议他使用curl或Guzzle,但它不能回答为什么file\u get\u内容不能按预期工作(而且应该工作!)。也许我发现了http上下文选项提供的子句ignore\u errorsphp本身就有curl方法。无需从shell调用curl。文件内容应返回正文。也许你的请求因为某种原因失败了。更好的是,它是一个很好的curl包装器。你可以建议他使用curl或Guzzle,但它没有回答为什么file\u get\u内容不能按预期工作(而且应该工作!)。也许我发现了http上下文选项提供了忽略\u错误子句