Cakephp在发布请求后通过包含json数据的httpsocket挂起

时间:2014-11-26 14:27:33

标签: php json cakephp post

目前我正在使用cakePHP中的http发布请求进行战斗。

我使用下面的代码与需要授权的外部API进行通信。 问题是,只要我使用JSON上下文添加正文,整个应用程序就会挂起。它会在浏览器中永久加载,而不会返回任何结果。必须停止并启动Apache才能恢复正常。在不同的机器上测试,效果相同。

如果我没有发送(JSON)主体,我显然会收到500服务器错误,但是它告诉我授权正在运行,否则我会得到未经授权的。
如果我做了一个" GET"请求相同的API,它工作正常并返回结果。 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);

任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

要清除它:问题是远端没有正确响应错误代码。 =