2013-03-25 5 views
52

Ich versuche file_get_contents zusammen mit stream_context_create zu verwenden, um POST-Anfragen zu machen. Mein Code so weit:HTTP-Anfragen mit file_get_contents, erhalten den Antwortcode

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

Es funktioniert gut, aber wenn ein HTTP-Fehler auftritt, spuckt es eine Warnung aus:

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

und gibt false zurück. Gibt es eine Möglichkeit zu:

  • unterdrückt eine Warnung (Ich plane meine eigene Ausnahme im Fall des Scheiterns zu werfen)
  • erhalten die Fehlerinformation (zumindest der Antwortcode) aus dem Strom

Ich weiß, wie man das mit curl, meine Frage ist speziell über Stream/Dateifunktionen.

Entschuldigung, wenn dies rtm ist, ist das Streams-Zeug für mich neu.

Antwort

Verwandte Themen