我需要連接到一個網頁,並返回頁面,我已經能夠使用http.request
但我需要請求的頁面可能需要較長時間才能達到的狀態代碼,有時幾分鐘,所以我總是得到一個socket hang up
錯誤。Node.js的請求的網頁
我用下面的代碼至今:
var reqPage = function(urlString, cb) {
// Resolve the URL
var path = url.parse(urlString);
var req = http.request({
host: path.hostname,
path: path.pathname,
port: 80,
method: 'GET'
});
req.on('end', function() {
cb.call(this, res);
});
req.on('error', function(e) {
winston.error(e.message);
});
};
什麼我需要做什麼來確保我的應用程序仍然會嘗試連接到的頁面,即使它會需要幾分鐘?
完美!謝謝。它現在已經請求了幾分鐘的網頁,而不是放棄。乾杯。 – James 2013-04-05 16:27:57
啊,一段時間後,有一次我請第二頁我'ECONNREFUSED'。 – James 2013-04-05 16:30:55
這可能與服務器有關。這就是說你可以使用async模塊的while函數重試每個請求直到成功。 https://github.com/caolan/async#whilst – Noah 2013-04-05 16:39:51