2016-04-27 9 views
0

Ich mache eine Guzzle Anforderung an einen api undursprünglichen Körper von einem HTTP-Fehler Suchen in Guzzle

$request = $this->client->request('GET', 'https://etc', ['http_errors' => false]); 

Ich habe http_errors auszuschalten hatte, als ob die API mir will, etwas sagen, es tut es als JSON-Antwort, aber es hat auch einen Header-Code von 402.

Ich kann die Antwort Header zurück von Guzzle, aber ich bin nicht in der Lage, den tatsächlichen Körper $request->getBody() zu bekommen, da dies nur ein leerer Stream auf die Antwort ist Objekt.

Kann jemand wissen, wie ich die ursprüngliche Seite trotz der Bereitstellung eines 402 HTTP-Fehler abrufen.

Hinweis: Wenn ich nicht http_errors ausschalte, wird eine Ausnahme ausgelöst, aber die Nachricht wird umgebrochen (und abgeschnitten).

Alle Vorschläge würden dankbar erhalten.

Antwort

0

Ich stolperte über die Antwort, die ich suchte.

Wenn ich http_errors nicht ausschalten und die Ausnahme abfangen kann ich laufen

$e->getResponse()->getBody()->getContents();

den Inhalt der Anfrage abzurufen.