首页 文章

如何从rest api回调调用获得响应

提问于
浏览
1

我在php中有一个sms api,我打电话发送短信 . 我传递一些json和url回调来获取响应状态并发送短信 .

之后服务器调用我的回调网址,但我无法获得响应正文 . $ _GET和$ _POST为空......文档不存在 . 它应该有一些json . 有人能帮我吗?提前致谢

REQUEST_URI => /dev/egoi-resp.php
    GET => Array
    (
    )

    POST => Array
    (
    )

    SERVER => Array
    (
        [PATH] => /sbin:/usr/sbin:/bin:/usr/bin
        [PWD] => /usr/local/cpanel/cgi-sys
        [SHLVL] => 0
        [SCRIPT_NAME] => /dev/egoi-resp.php
        [REQUEST_URI] => /dev/egoi-resp.php
        [QUERY_STRING] => 
        [REQUEST_METHOD] => POST
        [SERVER_PROTOCOL] => HTTP/1.1
        [GATEWAY_INTERFACE] => CGI/1.1
        [REMOTE_PORT] => 45721
        [SCRIPT_FILENAME] => /home/nchaves/public_html/dev/egoi-resp.php
        [SERVER_ADMIN] => webmaster@nunochaves.com
        [CONTEXT_DOCUMENT_ROOT] => /home/nchaves/public_html
        [CONTEXT_PREFIX] => 
        [REQUEST_SCHEME] => http
        [DOCUMENT_ROOT] => /home/nchaves/public_html
        [REMOTE_ADDR] => 94.46.251.59
        [SERVER_PORT] => 80
        [SERVER_ADDR] => 185.11.164.13
        [SERVER_NAME] => nunochaves.com
        [SERVER_SOFTWARE] => Apache
        [SERVER_SIGNATURE] => 
        [LD_LIBRARY_PATH] => /usr/local/apache/lib
        [CONTENT_LENGTH] => 166
        [HTTP_CONNECTION] => close
        [HTTP_HOST] => nunochaves.com
        [HTTP_USER_AGENT] => Java/1.7.0_25
        [HTTP_ACCEPT] => application/json
        [CONTENT_TYPE] => application/json
        [UNIQUE_ID] => VFeXf7kLpA0AB@tWLxMAAADG
        [FCGI_ROLE] => RESPONDER
        [PHP_SELF] => /dev/egoi-resp.php
        [REQUEST_TIME_FLOAT] => 1415026559.7367
        [REQUEST_TIME] => 1415026559
    )

2 回答

  • 1

    我有孔webhook工作 . 唯一的麻烦是在调用钩子时对json的答案进行渐变 . 我找到了答案 .

    $ data = json_decode(file_get_contents('php:// input'));

  • 3

    根据文件:

    url (string)
    The URL that will be used for the Hook
    
    actions (list)
    The list of actions for which this hook is triggered.
    Acceptable values: PROCESSED, SENT, DELIVERED, FAILED, CANCELED,
    

    当您为订阅的事件触发挂钩时,此URL将用作回调 . 所以,让我们假设您使用url http://foo.org/foo.php 订阅了 SENT 钩子 .

    钩子相关数据将被发送( POST 'ed)到url - > http://foo.org/foo.php .

    要查看收到的数据,我会将此(天真)存根作为起点:

    <?php
        $f = fopen('/tmp/hook.log', 'a+');
        $d = date('Y-m-d H:i:s');
        fwrite($f, "------------- $d -----------\n");
        fwrite($f, print_r($_POST, true));
        fclose($f);
    ?>
    

    检查 /tmp/hook.log 文件( tail -f /tmp/hook.log )以查看正在发送的内容 .

    希望这有帮助,问候,LL

相关问题