Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从grandstream phone获取nodejs中的呼叫状态_Javascript_Node.js_Node Fetch - Fatal编程技术网

Javascript 从grandstream phone获取nodejs中的呼叫状态

Javascript 从grandstream phone获取nodejs中的呼叫状态,javascript,node.js,node-fetch,Javascript,Node.js,Node Fetch,我正试图通过nodejs脚本获取grandstream电话的呼叫状态。但我遇到了一些麻烦。第一个请求进展顺利,并返回我已通过身份验证。第二个请求进行得不顺利,它说我没有经过身份验证 如何设置第二个请求中第一个请求的凭据或cookie,以便它知道我是loggedin 第一次请求响应: Response=Success Message=Authentication accepted Needchange=0 Ver=1.0.3.92 Response=Error Message=Authentic

我正试图通过nodejs脚本获取grandstream电话的呼叫状态。但我遇到了一些麻烦。第一个请求进展顺利,并返回我已通过身份验证。第二个请求进行得不顺利,它说我没有经过身份验证

如何设置第二个请求中第一个请求的凭据或cookie,以便它知道我是loggedin

第一次请求响应:

Response=Success
Message=Authentication accepted
Needchange=0
Ver=1.0.3.92
Response=Error
Message=Authentication Required
第一个请求-响应标头:

{
    'status': '200', 
    'content-length': '79', 
    'content-location': 'http://192.168.0.1/manager?action=login&username=XXXXXX&secret=XXXXXX', 
    'set-cookie': 'phonecookie="XXXXXX";HttpOnly, type=admin;, Version="1";, Max-Age=900', 
    'server': 'Enterprise Phone', 
    'pragma': 'no-cache', 
    'cache-control': 'no-cache', 
    'date': 'Wed, 14 Jun 2017 10:22:29 GMT', 
    'content-type': 'text/plain'
}
第二个请求-响应:

Response=Success
Message=Authentication accepted
Needchange=0
Ver=1.0.3.92
Response=Error
Message=Authentication Required
App.js脚本:

    var fetch = require('node-fetch');

    var host = '192.168.0.1';
    var loginUrl = "/manager?action=login&username=XXXXXX&secret=XXXXXX";
    var statusUrl = "/manager?action=lineStatus&line=0";

    function makeRequest(url)
    {
        fetch("http://" + host + loginUrl).then(function(resultLogin) {
            var resultAuth = result.body();

            fetch("http://" + host + statusUrl, {method: 'GET').then(function(resultStatus) {
                var resultStatus = resultStatus.body();
            });


        });
    }


makeRequest();
用于让
节点根据url获取
存储并发回Cookie

var fetch = require('fetch-cookie')(require('node-fetch'))

工作起来很有魅力!