HTTP请求与file_get_contents,获取响应代码

我试图使用file_get_contentsstream_context_create一起发出POST请求。 我的代码到目前为止:

  $options = array('http' => array( 'method' => 'POST', 'content' => $data, 'header' => "Content-Type: text/plain\r\n" . "Content-Length: " . strlen($data) . "\r\n" )); $context = stream_context_create($options); $response = file_get_contents($url, false, $context); 

它工作正常,但是,当一个HTTP错误发生时,它吐出一个警告:

 file_get_contents(...): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request 

并返回false。 有没有办法:

  • 压制一个警告(我打算抛出我自己的例外,如果失败)
  • 从stream中获取错误信息(至less是响应码)

我知道如何做到这一点,我的问题是具体关于stream/文件function。

对不起,如果这是rtm,stream的东西是我的新。

http://php.net/manual/en/reserved.variables.httpresponseheader.php

 file_get_contents("http://example.com"); var_dump($http_response_header);