在什么情况下Cake3的HTTP客户端会返回NULL响应?

时间:2016-06-07 13:40:31

标签: cakephp cakephp-3.0

我正在尝试使用Cake的HTTP Client连接到API。但是返回的响应对象是null,没有状态代码,没有正文,没有,只有null。值得注意的是,如果我从浏览器访问URL,我会得到所需的结果。

我问了一个问题,看看我做了什么愚蠢的事here。从缺乏回答来判断,我认为我没有任何愚蠢的语法错误。

所以现在我想知道Cake3 HTTP Client要返回NULL而不是response对象会发生什么?希望知道可能出错的地方会告诉我在哪里看。

1 个答案:

答案 0 :(得分:1)

  

在什么情况下,Cake3的HTTP客户端会返回NULL响应?

当适配器返回空数组(即没有响应对象)或非数组值时。客户端在适配器返回值上使用array_pop(),如果是空数组,则返回null,或者返回非数组值。

为了调试问题,请深入了解适配器代码并检查出错的地方。除非您使用自定义适配器,否则它将是\Cake\Network\Http\Adapter\Stream::_send()

错误的响应,例如不包含HTTP/...标头可能是导致此类失败的一个原因。也许你所拥有的根本没有响应,也许请求甚至没有通过你的防火墙或其他东西,但没有引起错误。所以,我建议从检查$meta$content开始,然后从那里开始。