2013-03-25 10 views
52

प्राप्त करना मैं PO12 अनुरोध करने के लिए के साथ file_get_contents का उपयोग करने का प्रयास कर रहा हूं। मेरे कोड अब तक:file_get_contents के साथ HTTP अनुरोध, प्रतिक्रिया कोड

$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 

और झूठे देता है। वहाँ एक तरीका है:

  • एक चेतावनी को दबाने धारा से
  • (कम से कम, प्रतिक्रिया कोड) त्रुटि जानकारी प्राप्त (मैं विफलता के मामले में अपने ही अपवाद फेंक करने की योजना बना रहा हूँ)

मुझे पता है कि कर्ल के साथ ऐसा कैसे करें, मेरा प्रश्न विशेष रूप से स्ट्रीम/फ़ाइल फ़ंक्शंस के बारे में है।

क्षमा करें अगर यह आरटीएम है, तो स्ट्रीम सामग्री मेरे लिए नई है।

उत्तर

104

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

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

सोच वालों के लिए, पहले सवाल का जवाब '$ options' को' 'ignore_errors' => TRUE' जोड़ना है। – georg

+2

@georg आप लाइन की शुरुआत में '@' भी डाल सकते हैं। – FluorescentGreen5

संबंधित मुद्दे