我正在尝试使用Cake的HTTP Client
连接到API。但是返回的响应对象是null
,没有状态代码,没有正文,没有,只有null
。值得注意的是,如果我从浏览器访问URL,我会得到所需的结果。
我问了一个问题,看看我做了什么愚蠢的事here。从缺乏回答来判断,我认为我没有任何愚蠢的语法错误。
所以现在我想知道Cake3 HTTP Client
要返回NULL
而不是response
对象会发生什么?希望知道可能出错的地方会告诉我在哪里看。
答案 0 :(得分:1)
在什么情况下,Cake3的HTTP客户端会返回NULL响应?
当适配器返回空数组(即没有响应对象)或非数组值时。客户端在适配器返回值上使用array_pop()
,如果是空数组,则返回null
,或者返回非数组值。
为了调试问题,请深入了解适配器代码并检查出错的地方。除非您使用自定义适配器,否则它将是\Cake\Network\Http\Adapter\Stream::_send()
。
错误的响应,例如不包含HTTP/...
标头可能是导致此类失败的一个原因。也许你所拥有的根本没有响应,也许请求甚至没有通过你的防火墙或其他东西,但没有引起错误。所以,我建议从检查$meta
和$content
开始,然后从那里开始。