2013-08-29 158 views
5

即使發生錯誤,是否可以讓file_get_contents顯示實際響應?file_get_contents:即使出現錯誤也能獲得完整回覆

否則很難調試。例如,假設你有下面的代碼:

$url = 'https://api.twitter.com/oauth/request_token'; 
$data = array(); 

$options = array(
    'http' => array(
    'header' => "Content-type: application/x-www-form-urlencoded\r\n", 
    'method' => 'POST', 
    'content' => http_build_query($data), 
    ), 
); 
$context = stream_context_create($options); 
$result = @file_get_contents($url, false, $context); 

var_dump($result); 
var_dump($http_response_header); 

這說明我NULL的結果和HTTP頭信息,但我希望得到實際的消息的Twitter發送回(應該是這樣的Failed to validate oauth signature and token),這是如果您嘗試在瀏覽器中加載https://api.twitter.com/oauth/request_token,會得到什麼結果。

回答

5

上下文有一個非常簡單的開關。只是這行添加到選項:

'ignore_errors' => true 

所以你會得到

$options = array(
    'http' => array(
    'header' => "Content-type: application/x-www-form-urlencoded\r\n", 
    'method' => 'POST', 
    'content' => http_build_query($data), 
    'ignore_errors' => true 
    ) 
); 
+0

真棒,我希望有某種類似這樣的開關。 – houbysoft

相關問題