nodejs主体中的HTTPS GET

时间:2015-12-04 15:39:04

标签: node.js https

我是nodejs的新手,我在使用https时遇到了一些问题。 我使用谷歌安全浏览查找API。 此刻我有一个测试(用茉莉花)和一个"测试"快递路线,因为我只有后端我使用邮递员看我的路线如何工作,看到我的服务器的回复。 所以我的问题就出现了,我会向你展示更好的代码。

这是我的"测试"路线:

apiRoutes.route('/test').
//Just for postman manually test
get(function(req, res){
    appFunctions.safeBrowser('http://www.38zu.cn',function(callback){
        res.send(callback);
    });

这里的函数safeBrowser:

var safeBrowser = function(urlToCheck, callback){

    if(urlToCheck.toString().substring(0,7) === "http://"){
        var apikey = config.APIKEY
        var url = "https://sb-ssl.google.com/safebrowsing/api/lookup?client=DimGray&key="+apikey+"&appver=1&pver=3.1&url="+urlToCheck;

        https.get(url, function(res) {
            res.on('data', function(d) {
                callback(d);
            });
        }).on('error', function(error){
            callback("error 1"); //For the moment, must change
        });
    }
    else
        callback("error 2");  //For the moment, must change

}

这是我的茉莉花测试

    it("check a malware url should return malware", function(done) {
    var malwareUrl = 'http://www.38zu.cn';
    appFunctions.safeBrowser(malwareUrl, function(callback){
        expect(callback).toBe('malware');
        done();
    });
});

当我使用邮递员手动测试路线" / test"邮差(GET)回复我

malwaree

但是当我通过测试时,我得到了什么:

     1) CeckStatus check a malware url should return malware
   Message:
     Expected { 0 : 109, 1 : 97, 2 : 108, 3 : 119, 4 : 97, 5 : 114, 6 : 101 } to be 'malware'.
   Stacktrace:
     Error: Expected { 0 : 109, 1 : 97, 2 : 108, 3 : 119, 4 : 97, 5 : 114, 6 : 101 } to be 'malware'.
    at D:\GitRepository\UrlShortener2015\dimGray\spec\safeBrowserSpec.js:16:30
    at IncomingMessage.<anonymous> (D:\GitRepository\UrlShortener2015\dimGray\backend\handlers\functions.js:38:17)
    at emitOne (events.js:77:13)
    at IncomingMessage.emit (events.js:169:7)
    at IncomingMessage.Readable.read (_stream_readable.js:360:10)
    at flow (_stream_readable.js:743:26)
    at resume_ (_stream_readable.js:723:3)
    at doNTCallback2 (node.js:450:9)
    at process._tickCallback (node.js:364:17)

我真的不知道为什么邮递员会给我回复恶意软件&#39;和引导JSON的测试

由于

1 个答案:

答案 0 :(得分:0)

看起来回调可能是一个blob?

尝试expect(callback.toString()).toBe('malware');