【发布时间】:2014-11-26 14:27:33
【问题描述】:
目前我正在处理 cakePHP 中的 http post 请求。
我正在使用下面的代码与需要授权的外部 API 进行通信。
问题是,只要我添加带有 JSON 上下文的正文,整个应用程序就会挂起。它在浏览器中永远加载,不会返回任何结果。必须停止并启动 Apache 才能恢复正常。在不同的机器上测试,效果一样。
如果我不发送 (JSON) 正文,我显然会收到 500 服务器错误,但它告诉我授权正在工作,否则我会得到未经授权的。
如果我对同一个 API 发出“GET”请求,它工作正常并返回结果。
JSON 语法很干净,如果我使用 API 测试器处理变量和其他信息,它就可以工作 (https://apigee.com/console)。
更新:如果请求有效,它就会工作。但是,在 API 测试仪上,它给了我一个“400 Bad Request”。我需要在我的应用程序中处理它,但在这种情况下,上述情况正在发生。期望它返回错误。
$options = array(
'body' => $json_order,
'header' => array(
'Authorization' =>'123456',
'Content-Type' => 'application/json; charset=utf-8',
),
);
$result=$HttpSocket->post('https://<address>',null,$options);
debug($HttpSocket->request);
如果我换一种方式,效果也一样
$options = array(
'header' => array(
'Authorization' =>'123456',
'Content-Type' => 'application/json; charset=utf-8',
),
);
$result=$HttpSocket->post('https://<address>',$json_order,$options);
debug($HttpSocket->request);
任何帮助将不胜感激!
【问题讨论】:
-
我真的没有得到你的更新? o_O 你检查过你的服务器日志吗?还请提供一个完整的工作示例(包括所有数据,如果可能还包括 API URL)。 ps,请务必提及您的确切 CakePHP 版本!
-
我使用的是 cakePHP 2.5.6。为您提供有关更新的更多详细信息:我尝试以低于产品价格的方式订购产品,因此有一个“错误请求”发回。在这种情况下,整个应用程序都会卡住。我正在调查这是否是远端的问题(不在我的控制之下)。如果做了其他导致“错误请求”的事情,它正在工作,我可以显示错误消息。