2016-06-07 96 views
0

我正尝试使用Cake的HTTP Client连接到API。但是返回的响应对象是null,没有状态码,没有主体,什么也没有,只是null。值得注意的是,如果我从浏览器访问URL,我会得到期望的结果。在什么情况下Cake3的HTTP客户端会返回NULL响应?

我问了一个问题,看看我是否在做什么愚蠢的事情,那就是here。由于缺乏反应,我认为我没有任何愚蠢的语法错误。

所以现在我想知道为什么Cake3 HTTP Client要返回NULL而不是response对象?希望知道可能出现的问题会告诉我在哪里寻找。

回答

1

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

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

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

的响应是畸形的,比如不含有HTTP/...头可以例如是原因这样的故障之一。也许你有什么没有响应,也许请求甚至没有通过你的防火墙或其他东西,但没有造成错误。所以,我建议先检查$meta$content并从那里开始。

+0

非常感谢,我会开始挖掘。 –

相关问题