2013-08-29 31 views
5

Có thể thực hiện file_get_contents cho tôi biết phản hồi thực tế ngay cả khi xảy ra lỗi không?file_get_contents: nhận được phản hồi đầy đủ ngay cả trên lỗi

Rất khó để gỡ lỗi nếu không. Ví dụ, nói rằng bạn có đoạn mã sau:

$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); 

Điều này cho thấy tôi NULL cho kết quả và các tiêu đề HTTP, nhưng tôi muốn nhận được thông báo thực tế Twitter gửi lại (nên được một cái gì đó giống như Failed to validate oauth signature and token), đó là những gì bạn nhận được nếu bạn cố gắng tải https://api.twitter.com/oauth/request_token trong trình duyệt của mình.

Trả lời

5

Có một công tắc rất đơn giản cho ngữ cảnh. chỉ cần thêm dòng này để lựa chọn:

'ignore_errors' => true 

do đó bạn sẽ nhận được

$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

Awesome, tôi đã hy vọng có một số loại công tắc như thế này. – houbysoft

Các vấn đề liên quan