2013-10-11 43 views
3

我正在嘗試向XML API發出HTTP GET請求,等待返回的XML字符串,並將其轉換爲JS對象並最終轉換爲JSON。 xml2js模塊應該在該進程結束時正常工作,但我試圖使用節點的本地http.request/http.get方法來發出請求,而且我不明白它是如何工作的,即使在閱讀文檔之後幾次。node http.get() - 如何獲取返回的XML,以便我可以使用它做什麼?

下面是我想要做的事情的要點,以及我如何收到很多我不知道如何解析的東西。

https://gist.github.com/jasonrhodes/6942015

如何在這種情況下,http.get()方法的工作?

回答

3

我假設您使用的版本是0.10。 *。會發生什麼是HTTP可以發送請求,這意味着響應可能會出現在很多不同的部分。

你應該有一個String對象,當你收到他們這個對象,之後沒有更多一個事件由響應物體發出的串聯塊

的代碼如下:

var http = require('http'); 
var express = require('express'); 
var app = express(); 

// app.use(express.static(__dirname + '/public')); 

app.get("/", function (req, res) { 
    var options = { 
     hostname: "search.mysite.com", 
     path: '/search?site=hub&client=hub_frontend&output=xml_no_dtd&q=cats' 
    }; 

    var gsaReq = http.get(options, function (response) { 
     var completeResponse = ''; 
     response.on('data', function (chunk) { 
      completeResponse += chunk; 
     }); 
     response.on('end', function() { 
      console.log(completeResponse); 
     }) 
    }).on('error', function (e) { 
     console.log('problem with request: ' + e.message); 
    }); 

}); 

app.listen(3000); 
相關問題