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.
Für diejenigen fragen, die Antwort auf die erste Frage lautet ' 'IGNORE_ERRORS' => true' auf' $ options' hinzuzufügen. – georg
@georg Sie können auch '@' am Anfang der Zeile setzen. – FluorescentGreen5