2013-12-10 16 views
0

jyggen/Curl請求的響應基於Symfony 2 Response,記錄爲here有用的jyggen/Response錯誤消息?

在我的代碼中,執行Request後,必須通過Request.isSuccessful()Response.isSuccessful()條件才能繼續執行腳本。

如果Request失敗,我可以使用$request->getErrorMessage()來記錄一個合適的異常。

如果Request成功,但Response然後失敗,但我需要一些有用的記錄它。

我試過$response->getContent()$request->getErrorMessage(),兩者都沒有返回。

我目前使用$response->getStatusCode()已經結算,但我寧願有更多的信息。執行響應的var_dump顯示,狀態碼和狀態碼文本都存儲爲受保護值,文本隨代碼一起提供了一條消息,儘管無論如何都可以從代碼值中計算出該代碼。

有沒有電話我錯過了或更好的方式找到Response的失敗的原因?

回答

0

$request->getErrorMessage()用於總失敗,$response->getStatusCode()用無效響應似乎覆蓋了足夠的基數。我可以使用一種方式來返回失敗的URL以及Request成功的響應狀態代碼,並且無效的Response,但我應該能夠找到它。

0

我不完全確定你想訪問什麼響應數據,你能給我更多的信息嗎?

您始終可以使用$request->getRawResponse()來檢索原始HTTP輸出。該方法結合$request->getInfo()(請參閱curl_getinfo)應該會爲您提供有關響應的所有信息。

但是,你真的不應該手動解析HTTP輸出。如果我錯過了允許公衆訪問一些重要的回覆信息,請在GitHub上創建問題。

+0

我基本上是在爲'Response'尋找等價的'$ request-> getErrorMessage()',當我有機會看到我得到的東西時,我會測試getInfo。 – sturrockad

+0

是的,但我不知道什麼''response-> getErrorMessage()''會返回。如果請求成功,總會有響應(無論是200,404,500等)。 – jyggen

+0

確實如此,但由於我們可以確定響應是否成功,因此有狀態消息與它一起使用會很有用。 – sturrockad